res:harmonics API (3.0a5)

The Res:Harmonics Public API provides seamless access to powerful tools for managing and automating property operations. Designed for developers and businesses, the API enables integration with Res:Harmonics’ platform to manage bookings, availability, rates, and guest experiences in real-time. With comprehensive documentation and robust endpoints, users can customise workflows, synchronise systems, and build tailored solutions to enhance operational efficiency. Whether you’re running serviced apartments, Build-to-Rent schemes, or co-living spaces, the Res:Harmonics API is your gateway to streamlined property management.

Download OpenAPI description
Languages
Servers
Mock server
https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/
https://api3.rerumapp.uk/api/v3/

Access Groups

Access Group entities from the Property Management System (PMS), used to map access groups from integrated access control systems, providing detailed information and management capabilities for access control within buildings and facilities.

Operations

Activities

Activities are tasks created in the Property Management System (PMS). Each activity can be assigned to a user, a team, or a company. Operations include retrieval, creation, updates, and management of activity notes. The PMS ensures that all activities are tracked and managed efficiently, providing a comprehensive overview of tasks and their statuses within the property management workflow.

Operations

Area

Area Entity from the Property Management System (PMS). Areas are part of the geography of the PMS and are used to define the location of properties, including their hierarchical structure within cities and regions.

Operations

Availabilities

Used to search for availability and pricing, including chargeable for specific dates. This endpoint allows users to query the availability of properties within the property management system (PMS), taking into account various parameters such as date ranges, unit types, guest counts, and promotional codes. It provides detailed information on available units, their rates, and any applicable restrictions or conditions.

Operations

Billing Frequencies

Billing Frequency entity from the Property Management System (PMS), used to define the intervals at which billing occurs. This helps in organizing and managing financial operations efficiently within the PMS. Billing frequencies are essential for ensuring timely and accurate billing processes, which are crucial for maintaining financial stability and customer satisfaction within the PMS.

Operations

Booking Types

Booking Type entity from the Property Management System (PMS), used to categorize bookings and define different behaviors. Booking types help in organizing and managing various booking categories within the PMS, ensuring efficient handling of reservations and associated operations.

Operations

Bookings

Bookings entity from the PMS, the booking is the main entity for a reservation, it contains all the information about the reservation, combined with a list of room stays which represent the individual stays in the units

Operations

Building

Represents the Building entity within the Property Management System (PMS). This includes comprehensive property details such as the building's name, address, facilities, operational attributes, and any associated metadata. The Building entity is essential for managing and integrating property data, ensuring accurate and up-to-date information for operational and administrative purposes.

Operations

Channels

Represents sales channels within the Property Management System (PMS), allowing users to categorize different sales channels or booking mediums. Sales channels capture details such as the channel operator, commission, and other criteria. This functionality enhances searchability, reporting, and segmentation by enabling property managers to create and manage custom channels tailored to their operational needs. Channels can be used for filtering, grouping, and applying business logic to different entities across the PMS, supporting improved organization and data management.

Operations

City

Represents the City entity within the PMS, including details such as the city's name, geographic location, and any associated properties or operational data. This entity is used to categorise and manage properties by location, enabling filtering and reporting based on city-level information.

Operations

Companies

Represents the Company entities within the PMS, which include detailed information about organisations associated with properties, bookings, or other business operations. The Company entity contains attributes such as the company name, contact information, address, industry type, and relationships with contacts or accounts. It is used to manage corporate accounts, track business partnerships, and enable streamlined handling of organisation-level interactions within the system.

Operations

Contacts

Represents the Contacts entity within the PMS CRM module, encompassing information about individuals or organisations associated with properties. This entity includes details such as names, contact information (e.g., phone numbers, email addresses), roles, and relationship to specific properties or bookings. It is used for managing customer relationships, tracking communication history, and facilitating operations such as guest management or corporate account handling.

Operations

Country

Provides endpoints for managing Country entities within the Property Management System (PMS). These operations include retrieving country details, creating new country records, and updating existing country information. Country entities store essential geographical and regulatory data, such as country names, ISO codes, and associated regional settings. This functionality supports property localisation, tax configurations, currency settings, and compliance with international regulations.

Operations

Developments

Represents the Developments entity within the Property Management System (PMS), which is used to manage real estate developments, property projects, or grouped property assets. A development typically consists of multiple buildings or units and includes key details such as location, associated properties, construction status, and project timelines. This entity supports large-scale property management by enabling structured organisation, tracking of development progress, and integration with booking, pricing, and operational workflows.

Operations

Extras

Represents Extras within the Property Management System (PMS), which are additional services or products that can be added to a booking. Extras may include amenities such as parking, breakfast, airport transfers, housekeeping services, or any custom add-ons offered by the property. These entities are used to enhance guest experiences, provide personalised services, and generate additional revenue streams. Extras can be configured with pricing, availability rules, and booking conditions to ensure seamless integration with reservation workflows.

Operations

Guest Stays

Represents Guest Stay entities within the Property Management System (PMS), which track individual guest stays associated with a room stay. A Guest Stay captures key details such as guest information, check-in and check-out dates, separate to the booked room, and stay status. This entity is essential for managing guest experiences, tracking physical occupancy, and facilitating seamless accommodation operations.

Operations

Industries

Represents Industry entities within the Property Management System (PMS), which categorise businesses, corporate clients, and organisations based on their industry sector. Industry entities are used to segment accounts, track market trends, and apply industry-specific pricing, policies, or reporting structures. This functionality supports better organisation, enhanced analytics, and streamlined management of corporate bookings and partnerships.

Operations

Issues

Represents Issues within the Property Management System (PMS), which track and manage property-related concerns, maintenance requests, and guest service requests. Issues can include general maintenance tasks, housekeeping requests, guest complaints, or operational incidents that require resolution. This functionality supports efficient task assignment, workflow automation, and real-time issue tracking to ensure prompt resolution and enhance guest satisfaction. Issues can be associated with properties, units, bookings, or specific guest stays, enabling seamless communication between staff and management.

Operations

Retrieve a list of issues

Request

Fetch a paginated list of issues within the Property Management System (PMS), representing property management tasks, maintenance requests, or guest service concerns. This endpoint allows filtering by multiple parameters, including issue details (ID, subject, status, type, priority), assignment details (assignee user or team), date ranges (reported date, response target date, resolution target date, last updated date), and related entities (booking, unit, or building). The response includes key issue details, making it useful for tracking operational tasks, managing maintenance workflows, and ensuring efficient resolution. If no filters are applied, all available issues will be returned in a paginated format. In case of an unexpected system error, a 500 Internal Server Error will be triggered.

Query
issueIdinteger(int64)

Issue ID

subjectstring

Subject

assigneeUserIdinteger(int64)

Assignee User ID

assigneeTeamIdinteger(int64)

Assignee Team ID

reportedDatestring(date)

Reported Date

reportedDateEndstring(date)

Reported Date End

responseTargetDatestring(date)

Response Target Date

responseTargetDateEndstring(date)

Response Target Date End

resolutionTargetDatestring(date)

Resolution Target Date

resolutionTargetDateEndstring(date)

Resolution Target Date End

issueLastUpdatedDatestring(date)

Issue Last Updated Date

issueLastUpdatedDateEndstring(date)

Issue Last Updated Date End

bookingIdinteger(int64)

Booking ID

unitIdinteger(int64)

Unit ID

buildingIdinteger(int64)

Building ID

statusstring

Status

issueTypeIdinteger(int64)

Issue Type ID

priorityIdinteger(int64)

Priority ID

curl -i -X GET \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/issues?assigneeTeamId=0&assigneeUserId=0&bookingId=0&buildingId=0&issueId=0&issueLastUpdatedDate=2019-08-24&issueLastUpdatedDateEnd=2019-08-24&issueTypeId=0&priorityId=0&reportedDate=2019-08-24&reportedDateEnd=2019-08-24&resolutionTargetDate=2019-08-24&resolutionTargetDateEnd=2019-08-24&responseTargetDate=2019-08-24&responseTargetDateEnd=2019-08-24&status=string&subject=string&unitId=0'

Responses

OK

Body
contentArray of objects(Resource«IssueListProjection»)
linksArray of objects(Link)
pageobject(PageMetadata)
Response
No response example

Create new issue

Request

Create a new issue within the Property Management System (PMS) to track property-related concerns, maintenance requests, or guest service requests. This endpoint accepts a JSON payload containing issue details, including description, priority, category, associated property or unit, and reporter information. The created issue is linked to relevant entities such as a property, unit, booking, or guest stay to facilitate efficient resolution. The response returns the newly created issue with a unique identifier. If any referenced object IDs do not exist in the PMS, a 400 Bad Request error will be returned due to data integrity violations. In case of an unexpected error, a 500 Internal Server Error will be triggered.

Bodyapplication/jsonrequired

Issue details

assigneeCompanyobject(CompanySummaryDTO)
assigneeTeamobject(TeamSummaryDTO)
assigneeUserobject(UserSummaryDTO)
bookingobject(BookingSummaryDTO)
buildingobject(BuildingSummaryDTO)
closedByobject(UserSummaryDTO)
closedDatestring(date-time)

Date when the issue was closed

descriptionstringrequired

Description of the issue

elapsedTimeinteger(int64)

Elapsed time for the issue

guestStayobject(GuestStaySummaryDTO)
idinteger(int64)required

ID of the issue

issuePriorityobject(IssuePrioritySummaryDTO)required
issuePriority.​idinteger(int64)

The unique identifier of the issue priority

issuePriority.​namestring

The name of the issue priority

issueStatusstringrequired

Status of the issue

Enum"OPEN""STARTED""RESOLVED""CLOSED"
issueTypeobject(IssueTypeSummaryDTO)required
issueType.​idinteger(int64)

Issue type id

Example: 1
issueType.​namestring

Issue type name

Example: "Bug"
privateboolean
readStatusboolean

Read status of the issue

Example: false
reporterContactobject(ContactSummaryDTO)
reporterUserobject(UserSummaryDTO)
resolutionTargetDatestring(date-time)

Target date for resolution

resolvedByobject(UserSummaryDTO)
resolvedDatestring(date-time)

Date when the issue was resolved

respondedDatestring(date-time)

Date when the issue was responded to

responseTargetDatestring(date-time)

Target date for response

restrictsAvailabilityboolean

Indicates if the issue restricts availability

Example: false
restrictsAvailabilityFromstring(date)

Start date of availability restriction

restrictsAvailabilityTostring(date)

End date of availability restriction

startedByobject(UserSummaryDTO)
startedDatestring(date-time)

Date when the issue was started

subjectstringrequired

Subject of the issue

timeOfReportingstring(date-time)

Time when the issue was reported

unitobject(UnitSummaryDTO)
uuidstring

UUID of the issue

curl -i -X POST \
  https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/issues \
  -H 'Content-Type: application/json' \
  -d '{
    "assigneeCompany": {
      "companyName": "string",
      "id": 0
    },
    "assigneeTeam": {
      "id": 0,
      "teamName": "string"
    },
    "assigneeUser": {
      "firstName": "string",
      "id": 0,
      "lastName": "string",
      "username": "string"
    },
    "booking": {
      "bookingReference": "string",
      "id": 0
    },
    "building": {
      "id": 0,
      "name": "string"
    },
    "closedBy": {
      "firstName": "string",
      "id": 0,
      "lastName": "string",
      "username": "string"
    },
    "closedDate": "2019-08-24T14:15:22Z",
    "description": "string",
    "elapsedTime": 0,
    "guestStay": {
      "contact": {
        "firstName": "string",
        "id": 0,
        "lastName": "string"
      },
      "dateFrom": "2019-08-24",
      "dateTo": "2019-08-24",
      "id": 0
    },
    "id": 0,
    "issuePriority": {
      "id": 0,
      "name": "string"
    },
    "issueStatus": "OPEN",
    "issueType": {
      "id": 1,
      "name": "Bug"
    },
    "private": true,
    "readStatus": false,
    "reporterContact": {
      "firstName": "string",
      "id": 0,
      "lastName": "string"
    },
    "reporterUser": {
      "firstName": "string",
      "id": 0,
      "lastName": "string",
      "username": "string"
    },
    "resolutionTargetDate": "2019-08-24T14:15:22Z",
    "resolvedBy": {
      "firstName": "string",
      "id": 0,
      "lastName": "string",
      "username": "string"
    },
    "resolvedDate": "2019-08-24T14:15:22Z",
    "respondedDate": "2019-08-24T14:15:22Z",
    "responseTargetDate": "2019-08-24T14:15:22Z",
    "restrictsAvailability": false,
    "restrictsAvailabilityFrom": "2019-08-24",
    "restrictsAvailabilityTo": "2019-08-24",
    "startedBy": {
      "firstName": "string",
      "id": 0,
      "lastName": "string",
      "username": "string"
    },
    "startedDate": "2019-08-24T14:15:22Z",
    "subject": "string",
    "timeOfReporting": "2019-08-24T14:15:22Z",
    "unit": {
      "id": 1,
      "name": "Apartment 101"
    },
    "uuid": "string"
  }'

Responses

OK

Body
assigneeCompanyobject(CompanySummaryDTO)
assigneeTeamobject(TeamSummaryDTO)
assigneeUserobject(UserSummaryDTO)
bookingobject(BookingSummaryDTO)
buildingobject(BuildingSummaryDTO)
closedByobject(UserSummaryDTO)
closedDatestring(date-time)

Date when the issue was closed

descriptionstringrequired

Description of the issue

elapsedTimeinteger(int64)

Elapsed time for the issue

guestStayobject(GuestStaySummaryDTO)
idinteger(int64)required

ID of the issue

issuePriorityobject(IssuePrioritySummaryDTO)required
issuePriority.​idinteger(int64)

The unique identifier of the issue priority

issuePriority.​namestring

The name of the issue priority

issueStatusstringrequired

Status of the issue

Enum"OPEN""STARTED""RESOLVED""CLOSED"
issueTypeobject(IssueTypeSummaryDTO)required
issueType.​idinteger(int64)

Issue type id

Example: 1
issueType.​namestring

Issue type name

Example: "Bug"
linksArray of objects(Link)
privateboolean
readStatusboolean

Read status of the issue

Example: false
reporterContactobject(ContactSummaryDTO)
reporterUserobject(UserSummaryDTO)
resolutionTargetDatestring(date-time)

Target date for resolution

resolvedByobject(UserSummaryDTO)
resolvedDatestring(date-time)

Date when the issue was resolved

respondedDatestring(date-time)

Date when the issue was responded to

responseTargetDatestring(date-time)

Target date for response

restrictsAvailabilityboolean

Indicates if the issue restricts availability

Example: false
restrictsAvailabilityFromstring(date)

Start date of availability restriction

restrictsAvailabilityTostring(date)

End date of availability restriction

startedByobject(UserSummaryDTO)
startedDatestring(date-time)

Date when the issue was started

subjectstringrequired

Subject of the issue

timeOfReportingstring(date-time)

Time when the issue was reported

unitobject(UnitSummaryDTO)
uuidstring

UUID of the issue

Response
No response example

Retrieve a list of all issue priorities

Request

Fetch a list of all available issue priorities within the Property Management System (PMS). Issue priorities help classify and manage the urgency of property-related concerns, maintenance requests, or guest service issues. Priorities can include different levels, such as 'Low', 'Medium', 'High', or custom-defined priority levels, ensuring that critical issues are addressed promptly. This endpoint provides structured priority data to facilitate efficient issue management, resource allocation, and response time tracking. The response includes a list of issue priorities along with relevant metadata. If an unexpected system error occurs, a 500 Internal Server Error will be triggered.

curl -i -X GET \
  https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/issues/issuePriorities

Responses

OK

Body
contentArray of objects(Resource«IssuePriorityDTO»)
linksArray of objects(Link)
Response
No response example

Retrieve an issue priority by ID

Request

Fetch detailed information about a specific issue priority within the Property Management System (PMS) using its unique ID. Issue priorities define the urgency of property-related concerns, maintenance requests, or guest service issues, ensuring efficient task management and resolution. The response includes key details such as the priority level and its associated metadata. If the specified priority ID does not exist, a 404 Not Found error will be returned. In case of an unexpected system error, a 500 Internal Server Error will be triggered.

Path
idinteger(int64)required

id

curl -i -X GET \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/issues/issuePriorities/{id}'

Responses

OK

Body
idinteger(int64)

Unique identifier of the issue priority

linksArray of objects(Link)
namestring

Name of the issue priority

responseHoursinteger(int32)

Response hours for the issue priority

slaHoursinteger(int32)

SLA hours for the issue priority

Response
No response example

Retrieve a list of all issue statuses

Request

Fetch a list of all possible issue statuses within the Property Management System (PMS). Issue statuses indicate the current progress of property-related concerns, maintenance requests, or guest service issues. Common statuses include OPEN, STARTED, RESOLVED, and CLOSED, ensuring clear tracking of an issue's lifecycle. This endpoint provides structured status data to help streamline issue management, prioritisation, and resolution workflows. The response includes a list of predefined issue statuses. If an unexpected system error occurs, a 500 Internal Server Error will be triggered.

curl -i -X GET \
  https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/issues/issueStatuses

Responses

OK

Body
contentArray of strings
Items Enum"OPEN""STARTED""RESOLVED""CLOSED"
linksArray of objects(Link)
Response
No response example

Retrieve a list of all issue types

Request

Fetch a list of all available issue types within the Property Management System (PMS). Issue types categorise different kinds of property-related concerns, maintenance requests, or guest service issues, such as housekeeping, technical repairs, complaints, or general inquiries. This endpoint provides a structured way to classify and manage operational issues, ensuring efficient tracking and resolution. The response includes a list of issue types, each containing relevant metadata. If an unexpected system error occurs, a 500 Internal Server Error will be triggered.

curl -i -X GET \
  https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/issues/issueTypes

Responses

OK

Body
contentArray of objects(Resource«IssueTypeDTO»)
linksArray of objects(Link)
Response
No response example

Retrieve issue entity by ID

Request

Fetch detailed information about a specific issue within the Property Management System (PMS) using its unique ID. Issues represent property management concerns, maintenance requests, or guest service requests. The response includes key details such as issue type, description, status, priority, associated property or unit, and reporting details. This endpoint is useful for tracking ongoing issues, managing maintenance workflows, and ensuring timely resolution. If the specified issue ID does not exist, a 404 Not Found error will be returned.

Path
idinteger(int64)required

Issue ID

curl -i -X GET \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/issues/{id}'

Responses

OK

Body
assigneeCompanyobject(CompanySummaryDTO)
assigneeTeamobject(TeamSummaryDTO)
assigneeUserobject(UserSummaryDTO)
bookingobject(BookingSummaryDTO)
buildingobject(BuildingSummaryDTO)
closedByobject(UserSummaryDTO)
closedDatestring(date-time)

Date when the issue was closed

descriptionstringrequired

Description of the issue

elapsedTimeinteger(int64)

Elapsed time for the issue

guestStayobject(GuestStaySummaryDTO)
idinteger(int64)required

ID of the issue

issuePriorityobject(IssuePrioritySummaryDTO)required
issuePriority.​idinteger(int64)

The unique identifier of the issue priority

issuePriority.​namestring

The name of the issue priority

issueStatusstringrequired

Status of the issue

Enum"OPEN""STARTED""RESOLVED""CLOSED"
issueTypeobject(IssueTypeSummaryDTO)required
issueType.​idinteger(int64)

Issue type id

Example: 1
issueType.​namestring

Issue type name

Example: "Bug"
linksArray of objects(Link)
privateboolean
readStatusboolean

Read status of the issue

Example: false
reporterContactobject(ContactSummaryDTO)
reporterUserobject(UserSummaryDTO)
resolutionTargetDatestring(date-time)

Target date for resolution

resolvedByobject(UserSummaryDTO)
resolvedDatestring(date-time)

Date when the issue was resolved

respondedDatestring(date-time)

Date when the issue was responded to

responseTargetDatestring(date-time)

Target date for response

restrictsAvailabilityboolean

Indicates if the issue restricts availability

Example: false
restrictsAvailabilityFromstring(date)

Start date of availability restriction

restrictsAvailabilityTostring(date)

End date of availability restriction

startedByobject(UserSummaryDTO)
startedDatestring(date-time)

Date when the issue was started

subjectstringrequired

Subject of the issue

timeOfReportingstring(date-time)

Time when the issue was reported

unitobject(UnitSummaryDTO)
uuidstring

UUID of the issue

Response
No response example

Update issue entity

Request

Modify an existing issue within the Property Management System (PMS) by providing updated details in the request body. The update process requires a valid issue ID and allows modifications to fields such as issue status, priority, category, or resolution notes. Issues are typically associated with properties, units, bookings, or guest stays, ensuring efficient tracking and management. To prevent data conflicts, a locking mechanism is applied during updates. The response includes the updated issue details. If the issue ID does not exist, a 404 Not Found error will be returned. In case of an unexpected error, a 500 Internal Server Error will be triggered.

Path
idinteger(int64)required

Issue ID

Bodyapplication/jsonrequired

Issue details

assigneeCompanyobject(CompanySummaryDTO)
assigneeTeamobject(TeamSummaryDTO)
assigneeUserobject(UserSummaryDTO)
bookingobject(BookingSummaryDTO)
buildingobject(BuildingSummaryDTO)
closedByobject(UserSummaryDTO)
closedDatestring(date-time)

Date when the issue was closed

descriptionstringrequired

Description of the issue

elapsedTimeinteger(int64)

Elapsed time for the issue

guestStayobject(GuestStaySummaryDTO)
idinteger(int64)required

ID of the issue

issuePriorityobject(IssuePrioritySummaryDTO)required
issuePriority.​idinteger(int64)

The unique identifier of the issue priority

issuePriority.​namestring

The name of the issue priority

issueStatusstringrequired

Status of the issue

Enum"OPEN""STARTED""RESOLVED""CLOSED"
issueTypeobject(IssueTypeSummaryDTO)required
issueType.​idinteger(int64)

Issue type id

Example: 1
issueType.​namestring

Issue type name

Example: "Bug"
privateboolean
readStatusboolean

Read status of the issue

Example: false
reporterContactobject(ContactSummaryDTO)
reporterUserobject(UserSummaryDTO)
resolutionTargetDatestring(date-time)

Target date for resolution

resolvedByobject(UserSummaryDTO)
resolvedDatestring(date-time)

Date when the issue was resolved

respondedDatestring(date-time)

Date when the issue was responded to

responseTargetDatestring(date-time)

Target date for response

restrictsAvailabilityboolean

Indicates if the issue restricts availability

Example: false
restrictsAvailabilityFromstring(date)

Start date of availability restriction

restrictsAvailabilityTostring(date)

End date of availability restriction

startedByobject(UserSummaryDTO)
startedDatestring(date-time)

Date when the issue was started

subjectstringrequired

Subject of the issue

timeOfReportingstring(date-time)

Time when the issue was reported

unitobject(UnitSummaryDTO)
uuidstring

UUID of the issue

curl -i -X PUT \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/issues/{id}' \
  -H 'Content-Type: application/json' \
  -d '{
    "assigneeCompany": {
      "companyName": "string",
      "id": 0
    },
    "assigneeTeam": {
      "id": 0,
      "teamName": "string"
    },
    "assigneeUser": {
      "firstName": "string",
      "id": 0,
      "lastName": "string",
      "username": "string"
    },
    "booking": {
      "bookingReference": "string",
      "id": 0
    },
    "building": {
      "id": 0,
      "name": "string"
    },
    "closedBy": {
      "firstName": "string",
      "id": 0,
      "lastName": "string",
      "username": "string"
    },
    "closedDate": "2019-08-24T14:15:22Z",
    "description": "string",
    "elapsedTime": 0,
    "guestStay": {
      "contact": {
        "firstName": "string",
        "id": 0,
        "lastName": "string"
      },
      "dateFrom": "2019-08-24",
      "dateTo": "2019-08-24",
      "id": 0
    },
    "id": 0,
    "issuePriority": {
      "id": 0,
      "name": "string"
    },
    "issueStatus": "OPEN",
    "issueType": {
      "id": 1,
      "name": "Bug"
    },
    "private": true,
    "readStatus": false,
    "reporterContact": {
      "firstName": "string",
      "id": 0,
      "lastName": "string"
    },
    "reporterUser": {
      "firstName": "string",
      "id": 0,
      "lastName": "string",
      "username": "string"
    },
    "resolutionTargetDate": "2019-08-24T14:15:22Z",
    "resolvedBy": {
      "firstName": "string",
      "id": 0,
      "lastName": "string",
      "username": "string"
    },
    "resolvedDate": "2019-08-24T14:15:22Z",
    "respondedDate": "2019-08-24T14:15:22Z",
    "responseTargetDate": "2019-08-24T14:15:22Z",
    "restrictsAvailability": false,
    "restrictsAvailabilityFrom": "2019-08-24",
    "restrictsAvailabilityTo": "2019-08-24",
    "startedBy": {
      "firstName": "string",
      "id": 0,
      "lastName": "string",
      "username": "string"
    },
    "startedDate": "2019-08-24T14:15:22Z",
    "subject": "string",
    "timeOfReporting": "2019-08-24T14:15:22Z",
    "unit": {
      "id": 1,
      "name": "Apartment 101"
    },
    "uuid": "string"
  }'

Responses

OK

Body
assigneeCompanyobject(CompanySummaryDTO)
assigneeTeamobject(TeamSummaryDTO)
assigneeUserobject(UserSummaryDTO)
bookingobject(BookingSummaryDTO)
buildingobject(BuildingSummaryDTO)
closedByobject(UserSummaryDTO)
closedDatestring(date-time)

Date when the issue was closed

descriptionstringrequired

Description of the issue

elapsedTimeinteger(int64)

Elapsed time for the issue

guestStayobject(GuestStaySummaryDTO)
idinteger(int64)required

ID of the issue

issuePriorityobject(IssuePrioritySummaryDTO)required
issuePriority.​idinteger(int64)

The unique identifier of the issue priority

issuePriority.​namestring

The name of the issue priority

issueStatusstringrequired

Status of the issue

Enum"OPEN""STARTED""RESOLVED""CLOSED"
issueTypeobject(IssueTypeSummaryDTO)required
issueType.​idinteger(int64)

Issue type id

Example: 1
issueType.​namestring

Issue type name

Example: "Bug"
linksArray of objects(Link)
privateboolean
readStatusboolean

Read status of the issue

Example: false
reporterContactobject(ContactSummaryDTO)
reporterUserobject(UserSummaryDTO)
resolutionTargetDatestring(date-time)

Target date for resolution

resolvedByobject(UserSummaryDTO)
resolvedDatestring(date-time)

Date when the issue was resolved

respondedDatestring(date-time)

Date when the issue was responded to

responseTargetDatestring(date-time)

Target date for response

restrictsAvailabilityboolean

Indicates if the issue restricts availability

Example: false
restrictsAvailabilityFromstring(date)

Start date of availability restriction

restrictsAvailabilityTostring(date)

End date of availability restriction

startedByobject(UserSummaryDTO)
startedDatestring(date-time)

Date when the issue was started

subjectstringrequired

Subject of the issue

timeOfReportingstring(date-time)

Time when the issue was reported

unitobject(UnitSummaryDTO)
uuidstring

UUID of the issue

Response
No response example

Retrieve a list of notes on an issue

Request

Fetch all notes associated with a specific issue within the Property Management System (PMS) using its unique ID. Issue notes provide a historical record of updates, comments, and actions taken on maintenance requests, guest concerns, or operational issues. The response includes details such as note content, author, timestamp, and any relevant metadata. This endpoint is useful for tracking communication, ensuring accountability, and maintaining an audit trail for issue resolution. If the issue ID does not exist, a 404 Not Found error will be returned. In case of an unexpected system error, a 500 Internal Server Error will be triggered.

Path
idinteger(int64)required

Issue ID

curl -i -X GET \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/issues/{id}/notes'

Responses

OK

Body
contentArray of objects(Resource«IssueNote»)
linksArray of objects(Link)
Response
No response example

Create an issue note

Request

Add a new note to a specific issue within the Property Management System (PMS) using the issue's unique ID. Issue notes serve as a communication log, allowing users to document updates, comments, or actions taken on maintenance requests, guest concerns, or operational issues. The request body must contain the note details, including its content and any relevant metadata. If the specified issue ID does not exist, a 404 Not Found error will be returned. Upon successful creation, the response includes the newly added note. This endpoint ensures proper documentation of issue progress and facilitates collaboration between team members.

Path
idinteger(int64)required

Issue ID

Bodyapplication/jsonrequired

Issue Note

apiCreatedboolean

Whether the note was created via the API

Example: false
contactobject(ContactSummaryDTO)
createdstring(date-time)

Timestamp when the note was created

createdByUserobject(UserDTO)
idinteger(int64)

The unique identifier of the note

issueobject(Issue)

Issue from the PMS

lastUpdatedstring(date-time)

Timestamp when the note was last updated

notestringrequired

Content of the note

noteCategoryobject(NoteCategoryDTO)required
noteCategory.​buildingLimitinteger(int64)
noteCategory.​defaultinteger(int32)
noteCategory.​defaultCategoryboolean

Indicates if this is the default category

Example: false
noteCategory.​idstring

Unique identifier of the note category

noteCategory.​namestring

Name of the note category

noteCategory.​nameLowercasestring
privateboolean
updatedByUserobject(UserDTO)
curl -i -X POST \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/issues/{id}/notes' \
  -H 'Content-Type: application/json' \
  -d '{
    "apiCreated": false,
    "contact": {
      "firstName": "string",
      "id": 0,
      "lastName": "string"
    },
    "created": "2019-08-24T14:15:22Z",
    "createdByUser": {
      "emailAddress": "string",
      "enabled": false,
      "firstName": "string",
      "id": 0,
      "jobTitle": "string",
      "lastName": "string",
      "team": {
        "id": 0,
        "teamName": "string"
      },
      "telephoneNumber": "string",
      "username": "string"
    },
    "id": 0,
    "issue": {
      "assigneeCompany": {
        "companyName": "string",
        "id": 0
      },
      "assigneeTeam": {
        "id": 0,
        "teamName": "string"
      },
      "assigneeUser": {
        "firstName": "string",
        "id": 0,
        "lastName": "string",
        "username": "string"
      },
      "booking": {
        "bookingReference": "string",
        "id": 0
      },
      "building": {
        "id": 0,
        "name": "string"
      },
      "closedBy": {
        "firstName": "string",
        "id": 0,
        "lastName": "string",
        "username": "string"
      },
      "closedDate": "2019-08-24T14:15:22Z",
      "description": "string",
      "elapsedTime": 0,
      "guestStay": {
        "contact": {
          "firstName": "string",
          "id": 0,
          "lastName": "string"
        },
        "dateFrom": "2019-08-24",
        "dateTo": "2019-08-24",
        "id": 0
      },
      "id": 0,
      "issuePriority": {
        "id": 0,
        "name": "string"
      },
      "issueStatus": "OPEN",
      "issueType": {
        "id": 1,
        "name": "Bug"
      },
      "private": true,
      "readStatus": false,
      "reporterContact": {
        "firstName": "string",
        "id": 0,
        "lastName": "string"
      },
      "reporterUser": {
        "firstName": "string",
        "id": 0,
        "lastName": "string",
        "username": "string"
      },
      "resolutionTargetDate": "2019-08-24T14:15:22Z",
      "resolvedBy": {
        "firstName": "string",
        "id": 0,
        "lastName": "string",
        "username": "string"
      },
      "resolvedDate": "2019-08-24T14:15:22Z",
      "respondedDate": "2019-08-24T14:15:22Z",
      "responseTargetDate": "2019-08-24T14:15:22Z",
      "restrictsAvailability": false,
      "restrictsAvailabilityFrom": "2019-08-24",
      "restrictsAvailabilityTo": "2019-08-24",
      "startedBy": {
        "firstName": "string",
        "id": 0,
        "lastName": "string",
        "username": "string"
      },
      "startedDate": "2019-08-24T14:15:22Z",
      "subject": "string",
      "timeOfReporting": "2019-08-24T14:15:22Z",
      "unit": {
        "id": 1,
        "name": "Apartment 101"
      },
      "uuid": "string"
    },
    "lastUpdated": "2019-08-24T14:15:22Z",
    "note": "string",
    "noteCategory": {
      "buildingLimit": 0,
      "default": 0,
      "defaultCategory": false,
      "id": "string",
      "name": "string",
      "nameLowercase": "string"
    },
    "private": true,
    "updatedByUser": {
      "emailAddress": "string",
      "enabled": false,
      "firstName": "string",
      "id": 0,
      "jobTitle": "string",
      "lastName": "string",
      "team": {
        "id": 0,
        "teamName": "string"
      },
      "telephoneNumber": "string",
      "username": "string"
    }
  }'

Responses

OK

Body
apiCreatedboolean

Whether the note was created via the API

Example: false
contactobject(ContactSummaryDTO)
createdstring(date-time)

Timestamp when the note was created

createdByUserobject(UserDTO)
idinteger(int64)

The unique identifier of the note

issueobject(Issue)

Issue from the PMS

lastUpdatedstring(date-time)

Timestamp when the note was last updated

linksArray of objects(Link)
notestringrequired

Content of the note

noteCategoryobject(NoteCategoryDTO)required
noteCategory.​buildingLimitinteger(int64)
noteCategory.​defaultinteger(int32)
noteCategory.​defaultCategoryboolean

Indicates if this is the default category

Example: false
noteCategory.​idstring

Unique identifier of the note category

noteCategory.​namestring

Name of the note category

noteCategory.​nameLowercasestring
privateboolean
updatedByUserobject(UserDTO)
Response
No response example

Update the status of an issue by ID

Request

Modify the status of a specific issue within the Property Management System (PMS) using its unique issue ID. The request body must include a valid status update (OPEN, STARTED, RESOLVED, or CLOSED). This endpoint ensures proper issue tracking and workflow management by allowing users to update the issue's progress.

  • OPEN: Marks the issue as newly created and pending action.
  • STARTED: Indicates work has begun on resolving the issue.
  • RESOLVED: Confirms the issue has been addressed but not yet closed.
  • CLOSED: Marks the issue as fully completed and closed.

The response includes the updated issue details. If the issue ID does not exist, a 404 Not Found error will be returned. In case of an unexpected system error, a 500 Internal Server Error will be triggered.

Path
idinteger(int64)required

Issue ID

Bodyapplication/jsonrequired

Status Update

statusstringrequired

The new status to be applied to the entity

Example: "ACTIVE"
curl -i -X PUT \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/issues/{id}/status' \
  -H 'Content-Type: application/json' \
  -d '{
    "status": "ACTIVE"
  }'

Responses

OK

Body
assigneeCompanyobject(CompanySummaryDTO)
assigneeTeamobject(TeamSummaryDTO)
assigneeUserobject(UserSummaryDTO)
bookingobject(BookingSummaryDTO)
buildingobject(BuildingSummaryDTO)
closedByobject(UserSummaryDTO)
closedDatestring(date-time)

Date when the issue was closed

descriptionstringrequired

Description of the issue

elapsedTimeinteger(int64)

Elapsed time for the issue

guestStayobject(GuestStaySummaryDTO)
idinteger(int64)required

ID of the issue

issuePriorityobject(IssuePrioritySummaryDTO)required
issuePriority.​idinteger(int64)

The unique identifier of the issue priority

issuePriority.​namestring

The name of the issue priority

issueStatusstringrequired

Status of the issue

Enum"OPEN""STARTED""RESOLVED""CLOSED"
issueTypeobject(IssueTypeSummaryDTO)required
issueType.​idinteger(int64)

Issue type id

Example: 1
issueType.​namestring

Issue type name

Example: "Bug"
linksArray of objects(Link)
privateboolean
readStatusboolean

Read status of the issue

Example: false
reporterContactobject(ContactSummaryDTO)
reporterUserobject(UserSummaryDTO)
resolutionTargetDatestring(date-time)

Target date for resolution

resolvedByobject(UserSummaryDTO)
resolvedDatestring(date-time)

Date when the issue was resolved

respondedDatestring(date-time)

Date when the issue was responded to

responseTargetDatestring(date-time)

Target date for response

restrictsAvailabilityboolean

Indicates if the issue restricts availability

Example: false
restrictsAvailabilityFromstring(date)

Start date of availability restriction

restrictsAvailabilityTostring(date)

End date of availability restriction

startedByobject(UserSummaryDTO)
startedDatestring(date-time)

Date when the issue was started

subjectstringrequired

Subject of the issue

timeOfReportingstring(date-time)

Time when the issue was reported

unitobject(UnitSummaryDTO)
uuidstring

UUID of the issue

Response
No response example

Market Segments

Represents Market Segment entities within the Property Management System (PMS), which categorise customer groups based on booking patterns, demographics, or business classifications. Market segments help in defining pricing strategies, targeted marketing campaigns, and reporting insights. They are commonly used to differentiate corporate clients, leisure travelers, government bookings, wholesalers, and other key customer groups. This functionality enables property managers to optimise revenue, personalise guest experiences, and improve operational decision-making.

Operations

Nationalities

Represents Nationality entities within the Property Management System (PMS), used to categorise guests, customers, or corporate clients based on their country of nationality. Nationality data supports compliance with regulatory requirements, enhances reporting and analytics, and enables targeted marketing or pricing strategies. This functionality helps property managers track guest demographics, improve customer segmentation, and personalise services based on nationality-specific preferences.

Operations

Rates

Endpoints for managing and querying rates and pricing within the PMS. These endpoints enable the creation, updating, retrieval, and deletion of rate records associated with properties, room types, and booking policies. Rate management functionality includes support for dynamic pricing, seasonal adjustments, promotional offers, and rate plans (e.g., refundable, non-refundable). Additionally, these endpoints facilitate integration with revenue management systems, allowing for real-time updates and querying of rates based on availability, occupancy, and other parameters. This suite of endpoints is essential for optimising pricing strategies and ensuring accurate and efficient rate handling.

Operations

Referrers

Represents Referrer entities within the Property Management System (PMS), which track sources of referrals for guests, bookings, or corporate clients. Referrers help identify the origin of reservations, whether from marketing campaigns, travel agencies, corporate partnerships, or other sources. This functionality enables property managers to analyse booking trends, measure the effectiveness of referral channels, and optimise marketing strategies. Referrer data can also be used for loyalty programs, commission tracking, and targeted promotions.

Operations

Region

Represents Region entities within the Property Management System (PMS). Regions are used to categorize geographical areas for better management and reporting. This functionality helps in organizing properties, defining operational zones, and generating location-based insights. Regions can be used to optimize resource allocation, enhance guest experiences, and support strategic decision-making.

Operations

Room Stays

Room stays are the specific stays in rooms under a booking, linking pricing, room, guests, and rates. This entity is part of the Property Management System (PMS) and is used to manage and track the details of each stay, including the duration, associated guests, and any additional services or charges. Room stays help in organizing bookings, ensuring accurate billing, and enhancing the overall guest experience.

Operations

Sales Invoices

Operations related to Sales Invoice entity from the Property Management System (PMS), including retrieval, creation, updating, and deletion of sales invoices. This API provides endpoints to manage sales invoices, which are essential for tracking sales transactions, generating financial reports, and ensuring accurate billing. The operations include retrieving a list of all sales invoices, fetching details of a specific invoice, creating new invoices, updating existing invoices, and marking invoices as posted or exported to external finance systems. These functionalities help in maintaining the financial integrity and operational efficiency of the PMS.

Operations

Tags

Represents Tag entities within the Property Management System (PMS), allowing users to categorise and organise various system entities with custom tag information. Tags provide a flexible way to label and classify properties, bookings, guests, accounts, and other records based on specific criteria. This functionality enhances searchability, reporting, and segmentation by enabling property managers to create and manage custom tags tailored to their operational needs. Tags can be used for filtering, grouping, and applying business logic to different entities across the PMS, supporting improved organisation and data management.

Operations

Teams

Represents the Team entity within the Property Management System (PMS), which is used to manage groups of users or staff members associated with specific roles, responsibilities, or properties. The Team entity includes details such as team name, members, assigned tasks, and permissions. This functionality is essential for organising operational workflows, assigning responsibilities across properties, and ensuring efficient collaboration between staff members. Teams can be linked to specific properties, bookings, or tasks, enabling streamlined management and accountability in day-to-day operations.

Operations

Unit Access Groups

Represents Unit Access Groups within the Property Management System (PMS), allowing access control and permission management for unit entities. Unit Access Groups link units to Access Groups which are the access control groups defined in external acces control systems. Contacts are linked to Access Groups for the duration of their stay based on unit they are staying in

Operations

Unit Types

Represents Unit Type entities within the Property Management System (PMS), defining the classification and characteristics of different units within a property. Unit Types help categorise accommodations based on factors such as size, layout, amenities, and occupancy capacity (e.g., studio, one-bedroom apartment, deluxe suite). This functionality is essential for inventory management, pricing strategies, availability searches, and reporting. Unit Types enable property managers to streamline booking processes, optimise revenue, and ensure accurate property listings across platforms.

Operations

Units

Represents Unit entities within the Property Management System (PMS), which are individual accommodations available for booking within a property. Units can include apartments, hotel rooms, serviced residences, or other types of rentable spaces. Each Unit is associated with a Unit Type, property, and relevant metadata such as availability, capacity, amenities, and pricing. This functionality supports efficient inventory management, booking operations, and property administration, enabling property managers to track occupancy, apply pricing strategies, and manage unit-specific details. Units are integral to availability searches, booking workflows, and reporting analytics within the PMS.

Operations

Users

Represents User entities within the Property Management System (PMS), managing authentication, authorisation, and role-based access control. Users can include property managers, front desk staff, housekeeping teams, administrators, and external partners, each with specific permissions and roles. This functionality enables secure access management, user activity tracking, and assignment of responsibilities within the PMS. User entities store essential details such as usernames, roles, contact information, and access privileges, ensuring proper security measures and operational control. The Users API facilitates user creation, role management, authentication, and administrative oversight.

Operations