Skip to content

res:harmonics API (3.0.1)

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/

Testing API

https://apiv3.resharmonics-dev.com/

Production API

https://apiv3.rerumapp.uk/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Unit Contracts

Manages unit contracts which define the relationship between property units and their contractual agreements. Provides endpoints for searching contracts, retrieving contract details, and accessing associated units. Used for managing lease agreements, rental terms, and property assignments within the system.

Operations

Activities

Activities are tasks created in the PMS

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

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

Retrieve company specified by company ID

Request

Retrieve detailed information about a specific company in the PMS by providing its unique company ID. The response includes comprehensive data such as the company's name, contact information, address, industry, and any associated metadata. If the specified company ID does not exist, a 'Not Found' error will be returned. This endpoint is useful for viewing and managing individual company records, enabling efficient retrieval of corporate account details.

Security
OAuth2
Path
idinteger(int64)required

Company ID to search for

curl -i -X GET \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/companies/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

The unique identifier of the company

companyNamestringrequired

The name of the company

consolidatedBillingboolean

Indicates if the company uses consolidated billing

companyNumberstring

The registration number of the company

vatRegisteredboolean

Indicates if the company is VAT registered

vatNumberstring

The VAT number of the company

websiteUrlstring

The website URL of the company

creditLimitnumber

The credit limit of the company

creditAccountboolean

Indicates if the company has a credit account

companyFinanceAccountobject(CompanyFinanceAccountDTO)

The finance account details of the company

billingAddressobject(CompanyAddressDTO)required

The primary address of the company

billingAddress.​idinteger(int64)

Unique identifier of the address

billingAddress.​addressLine1string

First line of the address

billingAddress.​addressLine2string

Second line of the address

billingAddress.​addressLine3string

Third line of the address

billingAddress.​citystring

City of the address

billingAddress.​postCodestring

Postal code of the address

billingAddress.​countryobject(CountryDTO)

The country of the organisation

billingAddress.​nicknamestring
primaryCompanyAddressobject(CompanyAddressDTO)required

The primary address of the company

primaryCompanyAddress.​idinteger(int64)

Unique identifier of the address

primaryCompanyAddress.​addressLine1string

First line of the address

primaryCompanyAddress.​addressLine2string

Second line of the address

primaryCompanyAddress.​addressLine3string

Third line of the address

primaryCompanyAddress.​citystring

City of the address

primaryCompanyAddress.​postCodestring

Postal code of the address

primaryCompanyAddress.​countryobject(CountryDTO)

The country of the organisation

primaryCompanyAddress.​nicknamestring
primaryCompanyEmailAddressobject(CompanyEmailAddressDTO)

The primary email address of the company

primaryCompanyTelephoneNumberobject(CompanyTelephoneNumberDTO)required

The primary telephone number of the company

primaryCompanyTelephoneNumber.​idinteger(int64)

Unique identifier of the company telephone number

primaryCompanyTelephoneNumber.​numberstring

Telephone number

primaryCompanyTelephoneNumber.​nicknamestring

Nickname for the telephone number

primaryCompanyTelephoneNumber.​primaryboolean

Indicates if this is the primary telephone number

typestring

The type of the company

Enum"CUSTOMER""BOOKING_AGENT""SUPPLIER""NETWORK_PROVIDER""LANDLORD""LETTING_AGENT""MANAGING_AGENT""BILLING""PARENT"
parentCompanyobject(CompanyDTO)Recursive

Company data to update

statusstring

The status of the company

Enum"ACTIVE""INACTIVE""ARCHIVED"
hasPublicLiabilityboolean

Indicates if the company has public liability

liabilityAmountnumber

The liability amount of the company

riskAssessmentboolean

Indicates if the company has a risk assessment

paymentTermnumber

The payment term of the company

wrapInvoicesManuallyboolean

Indicates if the company wraps invoices manually

referrerobject(ReferrerDTO)

Referrer of the contact

industryobject(IndustryDTO)

Industry of the contact

marketSegmentobject(MarketSegmentDTO)

Market segment of the contact

emailTostring

The email to details for the company

Enum"BOOKING_CONTACT""BOOKING_GUESTS""BOOKING_CONTACT_AND_GUESTS"
bankNamestring

The bank name of the company

bankAccountNamestring

The bank account name of the company

bankAccountNostring

The bank account number of the company

bankSortCodestring

The bank sort code of the company

bankBicCodestring

The bank BIC code of the company

bankIbanCodestring

The bank IBAN code of the company

linkCodestring

The link code of the company

lifecycleStagestring

The lifecycle stage of the company

Enum"LEAD""QUALIFIED""DISQUALIFIED""OPPORTUNITY""CUSTOMER"
sourcestring

The source of the company

Enum"OFFLINE_SOURCE""ONLINE_ENQUIRY_FORM""ONLINE_BOOKING""SALES_CHANNEL""DIRECT_SALE"
creditCheckOkboolean

Indicates if the company's credit check is okay

creditCheckDatestring(date)

The date of the company's credit check

Response
application/json
{ "id": 0, "companyName": "string", "consolidatedBilling": true, "companyNumber": "string", "vatRegistered": true, "vatNumber": "string", "websiteUrl": "string", "creditLimit": 0, "creditAccount": true, "companyFinanceAccount": { "id": 0, "accountCode": "string", "contact": {}, "company": {}, "externalId": "string", "exportedDate": "2019-08-24T14:15:22Z", "exportStatus": "SKIPPED" }, "billingAddress": { "id": 0, "addressLine1": "string", "addressLine2": "string", "addressLine3": "string", "city": "string", "postCode": "string", "country": {}, "nickname": "string" }, "primaryCompanyAddress": { "id": 0, "addressLine1": "string", "addressLine2": "string", "addressLine3": "string", "city": "string", "postCode": "string", "country": {}, "nickname": "string" }, "primaryCompanyEmailAddress": { "id": 1, "email": "string", "nickname": "Work", "primary": true }, "primaryCompanyTelephoneNumber": { "id": 0, "number": "string", "nickname": "string", "primary": true }, "type": "CUSTOMER", "parentCompany": {}, "status": "ACTIVE", "hasPublicLiability": true, "liabilityAmount": 0, "riskAssessment": true, "paymentTerm": 0, "wrapInvoicesManually": true, "referrer": { "id": 0, "code": "string", "name": "string" }, "industry": { "id": 0, "name": "string" }, "marketSegment": { "id": 0, "name": "string" }, "emailTo": "BOOKING_CONTACT", "bankName": "string", "bankAccountName": "string", "bankAccountNo": "string", "bankSortCode": "string", "bankBicCode": "string", "bankIbanCode": "string", "linkCode": "string", "lifecycleStage": "LEAD", "source": "OFFLINE_SOURCE", "creditCheckOk": true, "creditCheckDate": "2019-08-24" }

Update a company record

Request

Update an existing company record in the PMS by providing the company's unique ID and updated details in the request body. The input JSON payload should include the fields to be updated, such as the company's name, contact information, industry, or other attributes. The system verifies the existence of the company before applying the updates, and any attempt to update a non-existent company will result in a 'Not Found' error. Upon successful update, the response returns the full details of the updated company. This endpoint ensures efficient management of company records while maintaining data integrity.

Security
OAuth2
Path
idinteger(int64)required

Company ID to update

Query
currentUserobject(RerumUserDetails)required
currentUser.​userIdinteger(int64)
currentUser.​enabledboolean
currentUser.​credentialsNonExpiredboolean
currentUser.​accountNonExpiredboolean
currentUser.​accountNonLockedboolean
currentUser.​authoritiesArray of objects(GrantedAuthority)
currentUser.​usernamestring
currentUser.​passwordstring
Bodyapplication/jsonrequired
companyNamestringrequired

The name of the company

consolidatedBillingboolean

Indicates if the company uses consolidated billing

companyNumberstring

The registration number of the company

vatRegisteredboolean

Indicates if the company is VAT registered

vatNumberstring

The VAT number of the company

websiteUrlstring

The website URL of the company

creditLimitnumber

The credit limit of the company

creditAccountboolean

Indicates if the company has a credit account

companyFinanceAccountobject(CompanyFinanceAccountDTO)

The finance account details of the company

billingAddressobject(CompanyAddressDTO)required

The primary address of the company

billingAddress.​idinteger(int64)

Unique identifier of the address

billingAddress.​addressLine1string

First line of the address

billingAddress.​addressLine2string

Second line of the address

billingAddress.​addressLine3string

Third line of the address

billingAddress.​citystring

City of the address

billingAddress.​postCodestring

Postal code of the address

billingAddress.​countryobject(CountryDTO)

The country of the organisation

billingAddress.​nicknamestring
primaryCompanyAddressobject(CompanyAddressDTO)required

The primary address of the company

primaryCompanyAddress.​idinteger(int64)

Unique identifier of the address

primaryCompanyAddress.​addressLine1string

First line of the address

primaryCompanyAddress.​addressLine2string

Second line of the address

primaryCompanyAddress.​addressLine3string

Third line of the address

primaryCompanyAddress.​citystring

City of the address

primaryCompanyAddress.​postCodestring

Postal code of the address

primaryCompanyAddress.​countryobject(CountryDTO)

The country of the organisation

primaryCompanyAddress.​nicknamestring
primaryCompanyEmailAddressobject(CompanyEmailAddressDTO)

The primary email address of the company

primaryCompanyTelephoneNumberobject(CompanyTelephoneNumberDTO)required

The primary telephone number of the company

primaryCompanyTelephoneNumber.​idinteger(int64)

Unique identifier of the company telephone number

primaryCompanyTelephoneNumber.​numberstring

Telephone number

primaryCompanyTelephoneNumber.​nicknamestring

Nickname for the telephone number

primaryCompanyTelephoneNumber.​primaryboolean

Indicates if this is the primary telephone number

typestring

The type of the company

Enum"CUSTOMER""BOOKING_AGENT""SUPPLIER""NETWORK_PROVIDER""LANDLORD""LETTING_AGENT""MANAGING_AGENT""BILLING""PARENT"
parentCompanyobject(CompanyDTO)Recursive

Company data to update

statusstring

The status of the company

Enum"ACTIVE""INACTIVE""ARCHIVED"
hasPublicLiabilityboolean

Indicates if the company has public liability

liabilityAmountnumber

The liability amount of the company

riskAssessmentboolean

Indicates if the company has a risk assessment

paymentTermnumber

The payment term of the company

wrapInvoicesManuallyboolean

Indicates if the company wraps invoices manually

referrerobject(ReferrerDTO)

Referrer of the contact

industryobject(IndustryDTO)

Industry of the contact

marketSegmentobject(MarketSegmentDTO)

Market segment of the contact

emailTostring

The email to details for the company

Enum"BOOKING_CONTACT""BOOKING_GUESTS""BOOKING_CONTACT_AND_GUESTS"
bankNamestring

The bank name of the company

bankAccountNamestring

The bank account name of the company

bankAccountNostring

The bank account number of the company

bankSortCodestring

The bank sort code of the company

bankBicCodestring

The bank BIC code of the company

bankIbanCodestring

The bank IBAN code of the company

linkCodestring

The link code of the company

lifecycleStagestring

The lifecycle stage of the company

Enum"LEAD""QUALIFIED""DISQUALIFIED""OPPORTUNITY""CUSTOMER"
sourcestring

The source of the company

Enum"OFFLINE_SOURCE""ONLINE_ENQUIRY_FORM""ONLINE_BOOKING""SALES_CHANNEL""DIRECT_SALE"
creditCheckOkboolean

Indicates if the company's credit check is okay

creditCheckDatestring(date)

The date of the company's credit check

curl -i -X PUT \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/companies/{id}?userId=0&enabled=true&credentialsNonExpired=true&accountNonExpired=true&accountNonLocked=true&authorities=%5Bobject+Object%5D&username=string&password=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "companyName": "string",
    "consolidatedBilling": true,
    "companyNumber": "string",
    "vatRegistered": true,
    "vatNumber": "string",
    "websiteUrl": "string",
    "creditLimit": 0,
    "creditAccount": true,
    "companyFinanceAccount": {
      "id": 0,
      "accountCode": "string",
      "contact": {
        "id": 0,
        "firstName": "string",
        "lastName": "string"
      },
      "company": {
        "id": 0,
        "companyName": "string"
      },
      "externalId": "string",
      "exportedDate": "2019-08-24T14:15:22Z",
      "exportStatus": "SKIPPED"
    },
    "billingAddress": {
      "id": 0,
      "addressLine1": "string",
      "addressLine2": "string",
      "addressLine3": "string",
      "city": "string",
      "postCode": "string",
      "country": {
        "id": 0,
        "name": "string",
        "sortOrder": 0,
        "countryCodeAlpha2": "string",
        "countryCodeAlpha3": "string",
        "countryCodeNumeric": "string"
      },
      "nickname": "string"
    },
    "primaryCompanyAddress": {
      "id": 0,
      "addressLine1": "string",
      "addressLine2": "string",
      "addressLine3": "string",
      "city": "string",
      "postCode": "string",
      "country": {
        "id": 0,
        "name": "string",
        "sortOrder": 0,
        "countryCodeAlpha2": "string",
        "countryCodeAlpha3": "string",
        "countryCodeNumeric": "string"
      },
      "nickname": "string"
    },
    "primaryCompanyEmailAddress": {
      "id": 1,
      "email": "string",
      "nickname": "Work",
      "primary": true
    },
    "primaryCompanyTelephoneNumber": {
      "id": 0,
      "number": "string",
      "nickname": "string",
      "primary": true
    },
    "type": "CUSTOMER",
    "parentCompany": {},
    "status": "ACTIVE",
    "hasPublicLiability": true,
    "liabilityAmount": 0,
    "riskAssessment": true,
    "paymentTerm": 0,
    "wrapInvoicesManually": true,
    "referrer": {
      "id": 0,
      "code": "string",
      "name": "string"
    },
    "industry": {
      "id": 0,
      "name": "string"
    },
    "marketSegment": {
      "id": 0,
      "name": "string"
    },
    "emailTo": "BOOKING_CONTACT",
    "bankName": "string",
    "bankAccountName": "string",
    "bankAccountNo": "string",
    "bankSortCode": "string",
    "bankBicCode": "string",
    "bankIbanCode": "string",
    "linkCode": "string",
    "lifecycleStage": "LEAD",
    "source": "OFFLINE_SOURCE",
    "creditCheckOk": true,
    "creditCheckDate": "2019-08-24"
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

The unique identifier of the company

companyNamestringrequired

The name of the company

consolidatedBillingboolean

Indicates if the company uses consolidated billing

companyNumberstring

The registration number of the company

vatRegisteredboolean

Indicates if the company is VAT registered

vatNumberstring

The VAT number of the company

websiteUrlstring

The website URL of the company

creditLimitnumber

The credit limit of the company

creditAccountboolean

Indicates if the company has a credit account

companyFinanceAccountobject(CompanyFinanceAccountDTO)

The finance account details of the company

billingAddressobject(CompanyAddressDTO)required

The primary address of the company

billingAddress.​idinteger(int64)

Unique identifier of the address

billingAddress.​addressLine1string

First line of the address

billingAddress.​addressLine2string

Second line of the address

billingAddress.​addressLine3string

Third line of the address

billingAddress.​citystring

City of the address

billingAddress.​postCodestring

Postal code of the address

billingAddress.​countryobject(CountryDTO)

The country of the organisation

billingAddress.​nicknamestring
primaryCompanyAddressobject(CompanyAddressDTO)required

The primary address of the company

primaryCompanyAddress.​idinteger(int64)

Unique identifier of the address

primaryCompanyAddress.​addressLine1string

First line of the address

primaryCompanyAddress.​addressLine2string

Second line of the address

primaryCompanyAddress.​addressLine3string

Third line of the address

primaryCompanyAddress.​citystring

City of the address

primaryCompanyAddress.​postCodestring

Postal code of the address

primaryCompanyAddress.​countryobject(CountryDTO)

The country of the organisation

primaryCompanyAddress.​nicknamestring
primaryCompanyEmailAddressobject(CompanyEmailAddressDTO)

The primary email address of the company

primaryCompanyTelephoneNumberobject(CompanyTelephoneNumberDTO)required

The primary telephone number of the company

primaryCompanyTelephoneNumber.​idinteger(int64)

Unique identifier of the company telephone number

primaryCompanyTelephoneNumber.​numberstring

Telephone number

primaryCompanyTelephoneNumber.​nicknamestring

Nickname for the telephone number

primaryCompanyTelephoneNumber.​primaryboolean

Indicates if this is the primary telephone number

typestring

The type of the company

Enum"CUSTOMER""BOOKING_AGENT""SUPPLIER""NETWORK_PROVIDER""LANDLORD""LETTING_AGENT""MANAGING_AGENT""BILLING""PARENT"
parentCompanyobject(CompanyDTO)Recursive

Company data to update

statusstring

The status of the company

Enum"ACTIVE""INACTIVE""ARCHIVED"
hasPublicLiabilityboolean

Indicates if the company has public liability

liabilityAmountnumber

The liability amount of the company

riskAssessmentboolean

Indicates if the company has a risk assessment

paymentTermnumber

The payment term of the company

wrapInvoicesManuallyboolean

Indicates if the company wraps invoices manually

referrerobject(ReferrerDTO)

Referrer of the contact

industryobject(IndustryDTO)

Industry of the contact

marketSegmentobject(MarketSegmentDTO)

Market segment of the contact

emailTostring

The email to details for the company

Enum"BOOKING_CONTACT""BOOKING_GUESTS""BOOKING_CONTACT_AND_GUESTS"
bankNamestring

The bank name of the company

bankAccountNamestring

The bank account name of the company

bankAccountNostring

The bank account number of the company

bankSortCodestring

The bank sort code of the company

bankBicCodestring

The bank BIC code of the company

bankIbanCodestring

The bank IBAN code of the company

linkCodestring

The link code of the company

lifecycleStagestring

The lifecycle stage of the company

Enum"LEAD""QUALIFIED""DISQUALIFIED""OPPORTUNITY""CUSTOMER"
sourcestring

The source of the company

Enum"OFFLINE_SOURCE""ONLINE_ENQUIRY_FORM""ONLINE_BOOKING""SALES_CHANNEL""DIRECT_SALE"
creditCheckOkboolean

Indicates if the company's credit check is okay

creditCheckDatestring(date)

The date of the company's credit check

Response
application/json
{ "id": 0, "companyName": "string", "consolidatedBilling": true, "companyNumber": "string", "vatRegistered": true, "vatNumber": "string", "websiteUrl": "string", "creditLimit": 0, "creditAccount": true, "companyFinanceAccount": { "id": 0, "accountCode": "string", "contact": {}, "company": {}, "externalId": "string", "exportedDate": "2019-08-24T14:15:22Z", "exportStatus": "SKIPPED" }, "billingAddress": { "id": 0, "addressLine1": "string", "addressLine2": "string", "addressLine3": "string", "city": "string", "postCode": "string", "country": {}, "nickname": "string" }, "primaryCompanyAddress": { "id": 0, "addressLine1": "string", "addressLine2": "string", "addressLine3": "string", "city": "string", "postCode": "string", "country": {}, "nickname": "string" }, "primaryCompanyEmailAddress": { "id": 1, "email": "string", "nickname": "Work", "primary": true }, "primaryCompanyTelephoneNumber": { "id": 0, "number": "string", "nickname": "string", "primary": true }, "type": "CUSTOMER", "parentCompany": {}, "status": "ACTIVE", "hasPublicLiability": true, "liabilityAmount": 0, "riskAssessment": true, "paymentTerm": 0, "wrapInvoicesManually": true, "referrer": { "id": 0, "code": "string", "name": "string" }, "industry": { "id": 0, "name": "string" }, "marketSegment": { "id": 0, "name": "string" }, "emailTo": "BOOKING_CONTACT", "bankName": "string", "bankAccountName": "string", "bankAccountNo": "string", "bankSortCode": "string", "bankBicCode": "string", "bankIbanCode": "string", "linkCode": "string", "lifecycleStage": "LEAD", "source": "OFFLINE_SOURCE", "creditCheckOk": true, "creditCheckDate": "2019-08-24" }

Retrieve list of companies by search filters

Request

Retrieve a paginated list of companies from the PMS based on specified search filters. Optional query parameters include company name, email address, telephone number, referrer, industry, market segment, and account ID. Each filter allows partial matches using wildcards for greater flexibility in searching. If no filters are provided, the endpoint returns all available companies. The response contains key details for each company, such as name, contact information, and industry, presented in a paginated format to facilitate navigation. This endpoint is ideal for managing corporate accounts, identifying business partnerships, and integrating company information with other systems. Pagination controls can be used to manage the size and order of results.

Security
OAuth2
Query
companyNamestring

Company name to search for

emailAddressstring

Email address to search for

telephoneNumberstring

Telephone number to search for

referrerstring

Referrer to search for

industrystring

Industry to search for

marketSegmentstring

Market segment to search for

accountIdinteger(int64)

Account ID to search for

curl -i -X GET \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/companies?companyName=string&emailAddress=string&telephoneNumber=string&referrer=string&industry=string&marketSegment=string&accountId=0' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
contentArray of objects(CompanyListItemProjection)
pageobject(PageMetadata)
Response
application/json
{ "content": [ {} ], "page": { "size": 0, "totalElements": 0, "totalPages": 0, "number": 0 } }

Create a new company

Request

Create a new company record in the PMS by providing the company details in the request body. The input JSON payload should include information such as the company's name, contact details, industry, and other relevant attributes. The authenticated user is associated with the creation for audit purposes. Upon successful creation, the response returns the full details of the newly created company, including its unique identifier. This endpoint is essential for adding new organisations to the system for management and operational purposes.

Security
OAuth2
Query
currentUserobject(RerumUserDetails)required
currentUser.​userIdinteger(int64)
currentUser.​enabledboolean
currentUser.​credentialsNonExpiredboolean
currentUser.​accountNonExpiredboolean
currentUser.​accountNonLockedboolean
currentUser.​authoritiesArray of objects(GrantedAuthority)
currentUser.​usernamestring
currentUser.​passwordstring
Bodyapplication/jsonrequired
companyNamestringrequired

The name of the company

consolidatedBillingboolean

Indicates if the company uses consolidated billing

companyNumberstring

The registration number of the company

vatRegisteredboolean

Indicates if the company is VAT registered

vatNumberstring

The VAT number of the company

websiteUrlstring

The website URL of the company

creditLimitnumber

The credit limit of the company

creditAccountboolean

Indicates if the company has a credit account

companyFinanceAccountobject(CompanyFinanceAccountDTO)

The finance account details of the company

billingAddressobject(CompanyAddressDTO)required

The primary address of the company

billingAddress.​idinteger(int64)

Unique identifier of the address

billingAddress.​addressLine1string

First line of the address

billingAddress.​addressLine2string

Second line of the address

billingAddress.​addressLine3string

Third line of the address

billingAddress.​citystring

City of the address

billingAddress.​postCodestring

Postal code of the address

billingAddress.​countryobject(CountryDTO)

The country of the organisation

billingAddress.​nicknamestring
primaryCompanyAddressobject(CompanyAddressDTO)required

The primary address of the company

primaryCompanyAddress.​idinteger(int64)

Unique identifier of the address

primaryCompanyAddress.​addressLine1string

First line of the address

primaryCompanyAddress.​addressLine2string

Second line of the address

primaryCompanyAddress.​addressLine3string

Third line of the address

primaryCompanyAddress.​citystring

City of the address

primaryCompanyAddress.​postCodestring

Postal code of the address

primaryCompanyAddress.​countryobject(CountryDTO)

The country of the organisation

primaryCompanyAddress.​nicknamestring
primaryCompanyEmailAddressobject(CompanyEmailAddressDTO)

The primary email address of the company

primaryCompanyTelephoneNumberobject(CompanyTelephoneNumberDTO)required

The primary telephone number of the company

primaryCompanyTelephoneNumber.​idinteger(int64)

Unique identifier of the company telephone number

primaryCompanyTelephoneNumber.​numberstring

Telephone number

primaryCompanyTelephoneNumber.​nicknamestring

Nickname for the telephone number

primaryCompanyTelephoneNumber.​primaryboolean

Indicates if this is the primary telephone number

typestring

The type of the company

Enum"CUSTOMER""BOOKING_AGENT""SUPPLIER""NETWORK_PROVIDER""LANDLORD""LETTING_AGENT""MANAGING_AGENT""BILLING""PARENT"
parentCompanyobject(CompanyDTO)Recursive

Company data to update

statusstring

The status of the company

Enum"ACTIVE""INACTIVE""ARCHIVED"
hasPublicLiabilityboolean

Indicates if the company has public liability

liabilityAmountnumber

The liability amount of the company

riskAssessmentboolean

Indicates if the company has a risk assessment

paymentTermnumber

The payment term of the company

wrapInvoicesManuallyboolean

Indicates if the company wraps invoices manually

referrerobject(ReferrerDTO)

Referrer of the contact

industryobject(IndustryDTO)

Industry of the contact

marketSegmentobject(MarketSegmentDTO)

Market segment of the contact

emailTostring

The email to details for the company

Enum"BOOKING_CONTACT""BOOKING_GUESTS""BOOKING_CONTACT_AND_GUESTS"
bankNamestring

The bank name of the company

bankAccountNamestring

The bank account name of the company

bankAccountNostring

The bank account number of the company

bankSortCodestring

The bank sort code of the company

bankBicCodestring

The bank BIC code of the company

bankIbanCodestring

The bank IBAN code of the company

linkCodestring

The link code of the company

lifecycleStagestring

The lifecycle stage of the company

Enum"LEAD""QUALIFIED""DISQUALIFIED""OPPORTUNITY""CUSTOMER"
sourcestring

The source of the company

Enum"OFFLINE_SOURCE""ONLINE_ENQUIRY_FORM""ONLINE_BOOKING""SALES_CHANNEL""DIRECT_SALE"
creditCheckOkboolean

Indicates if the company's credit check is okay

creditCheckDatestring(date)

The date of the company's credit check

curl -i -X POST \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/companies?userId=0&enabled=true&credentialsNonExpired=true&accountNonExpired=true&accountNonLocked=true&authorities=%5Bobject+Object%5D&username=string&password=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "companyName": "string",
    "consolidatedBilling": true,
    "companyNumber": "string",
    "vatRegistered": true,
    "vatNumber": "string",
    "websiteUrl": "string",
    "creditLimit": 0,
    "creditAccount": true,
    "companyFinanceAccount": {
      "id": 0,
      "accountCode": "string",
      "contact": {
        "id": 0,
        "firstName": "string",
        "lastName": "string"
      },
      "company": {
        "id": 0,
        "companyName": "string"
      },
      "externalId": "string",
      "exportedDate": "2019-08-24T14:15:22Z",
      "exportStatus": "SKIPPED"
    },
    "billingAddress": {
      "id": 0,
      "addressLine1": "string",
      "addressLine2": "string",
      "addressLine3": "string",
      "city": "string",
      "postCode": "string",
      "country": {
        "id": 0,
        "name": "string",
        "sortOrder": 0,
        "countryCodeAlpha2": "string",
        "countryCodeAlpha3": "string",
        "countryCodeNumeric": "string"
      },
      "nickname": "string"
    },
    "primaryCompanyAddress": {
      "id": 0,
      "addressLine1": "string",
      "addressLine2": "string",
      "addressLine3": "string",
      "city": "string",
      "postCode": "string",
      "country": {
        "id": 0,
        "name": "string",
        "sortOrder": 0,
        "countryCodeAlpha2": "string",
        "countryCodeAlpha3": "string",
        "countryCodeNumeric": "string"
      },
      "nickname": "string"
    },
    "primaryCompanyEmailAddress": {
      "id": 1,
      "email": "string",
      "nickname": "Work",
      "primary": true
    },
    "primaryCompanyTelephoneNumber": {
      "id": 0,
      "number": "string",
      "nickname": "string",
      "primary": true
    },
    "type": "CUSTOMER",
    "parentCompany": {},
    "status": "ACTIVE",
    "hasPublicLiability": true,
    "liabilityAmount": 0,
    "riskAssessment": true,
    "paymentTerm": 0,
    "wrapInvoicesManually": true,
    "referrer": {
      "id": 0,
      "code": "string",
      "name": "string"
    },
    "industry": {
      "id": 0,
      "name": "string"
    },
    "marketSegment": {
      "id": 0,
      "name": "string"
    },
    "emailTo": "BOOKING_CONTACT",
    "bankName": "string",
    "bankAccountName": "string",
    "bankAccountNo": "string",
    "bankSortCode": "string",
    "bankBicCode": "string",
    "bankIbanCode": "string",
    "linkCode": "string",
    "lifecycleStage": "LEAD",
    "source": "OFFLINE_SOURCE",
    "creditCheckOk": true,
    "creditCheckDate": "2019-08-24"
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

The unique identifier of the company

companyNamestringrequired

The name of the company

consolidatedBillingboolean

Indicates if the company uses consolidated billing

companyNumberstring

The registration number of the company

vatRegisteredboolean

Indicates if the company is VAT registered

vatNumberstring

The VAT number of the company

websiteUrlstring

The website URL of the company

creditLimitnumber

The credit limit of the company

creditAccountboolean

Indicates if the company has a credit account

companyFinanceAccountobject(CompanyFinanceAccountDTO)

The finance account details of the company

billingAddressobject(CompanyAddressDTO)required

The primary address of the company

billingAddress.​idinteger(int64)

Unique identifier of the address

billingAddress.​addressLine1string

First line of the address

billingAddress.​addressLine2string

Second line of the address

billingAddress.​addressLine3string

Third line of the address

billingAddress.​citystring

City of the address

billingAddress.​postCodestring

Postal code of the address

billingAddress.​countryobject(CountryDTO)

The country of the organisation

billingAddress.​nicknamestring
primaryCompanyAddressobject(CompanyAddressDTO)required

The primary address of the company

primaryCompanyAddress.​idinteger(int64)

Unique identifier of the address

primaryCompanyAddress.​addressLine1string

First line of the address

primaryCompanyAddress.​addressLine2string

Second line of the address

primaryCompanyAddress.​addressLine3string

Third line of the address

primaryCompanyAddress.​citystring

City of the address

primaryCompanyAddress.​postCodestring

Postal code of the address

primaryCompanyAddress.​countryobject(CountryDTO)

The country of the organisation

primaryCompanyAddress.​nicknamestring
primaryCompanyEmailAddressobject(CompanyEmailAddressDTO)

The primary email address of the company

primaryCompanyTelephoneNumberobject(CompanyTelephoneNumberDTO)required

The primary telephone number of the company

primaryCompanyTelephoneNumber.​idinteger(int64)

Unique identifier of the company telephone number

primaryCompanyTelephoneNumber.​numberstring

Telephone number

primaryCompanyTelephoneNumber.​nicknamestring

Nickname for the telephone number

primaryCompanyTelephoneNumber.​primaryboolean

Indicates if this is the primary telephone number

typestring

The type of the company

Enum"CUSTOMER""BOOKING_AGENT""SUPPLIER""NETWORK_PROVIDER""LANDLORD""LETTING_AGENT""MANAGING_AGENT""BILLING""PARENT"
parentCompanyobject(CompanyDTO)Recursive

Company data to update

statusstring

The status of the company

Enum"ACTIVE""INACTIVE""ARCHIVED"
hasPublicLiabilityboolean

Indicates if the company has public liability

liabilityAmountnumber

The liability amount of the company

riskAssessmentboolean

Indicates if the company has a risk assessment

paymentTermnumber

The payment term of the company

wrapInvoicesManuallyboolean

Indicates if the company wraps invoices manually

referrerobject(ReferrerDTO)

Referrer of the contact

industryobject(IndustryDTO)

Industry of the contact

marketSegmentobject(MarketSegmentDTO)

Market segment of the contact

emailTostring

The email to details for the company

Enum"BOOKING_CONTACT""BOOKING_GUESTS""BOOKING_CONTACT_AND_GUESTS"
bankNamestring

The bank name of the company

bankAccountNamestring

The bank account name of the company

bankAccountNostring

The bank account number of the company

bankSortCodestring

The bank sort code of the company

bankBicCodestring

The bank BIC code of the company

bankIbanCodestring

The bank IBAN code of the company

linkCodestring

The link code of the company

lifecycleStagestring

The lifecycle stage of the company

Enum"LEAD""QUALIFIED""DISQUALIFIED""OPPORTUNITY""CUSTOMER"
sourcestring

The source of the company

Enum"OFFLINE_SOURCE""ONLINE_ENQUIRY_FORM""ONLINE_BOOKING""SALES_CHANNEL""DIRECT_SALE"
creditCheckOkboolean

Indicates if the company's credit check is okay

creditCheckDatestring(date)

The date of the company's credit check

Response
application/json
{ "id": 0, "companyName": "string", "consolidatedBilling": true, "companyNumber": "string", "vatRegistered": true, "vatNumber": "string", "websiteUrl": "string", "creditLimit": 0, "creditAccount": true, "companyFinanceAccount": { "id": 0, "accountCode": "string", "contact": {}, "company": {}, "externalId": "string", "exportedDate": "2019-08-24T14:15:22Z", "exportStatus": "SKIPPED" }, "billingAddress": { "id": 0, "addressLine1": "string", "addressLine2": "string", "addressLine3": "string", "city": "string", "postCode": "string", "country": {}, "nickname": "string" }, "primaryCompanyAddress": { "id": 0, "addressLine1": "string", "addressLine2": "string", "addressLine3": "string", "city": "string", "postCode": "string", "country": {}, "nickname": "string" }, "primaryCompanyEmailAddress": { "id": 1, "email": "string", "nickname": "Work", "primary": true }, "primaryCompanyTelephoneNumber": { "id": 0, "number": "string", "nickname": "string", "primary": true }, "type": "CUSTOMER", "parentCompany": {}, "status": "ACTIVE", "hasPublicLiability": true, "liabilityAmount": 0, "riskAssessment": true, "paymentTerm": 0, "wrapInvoicesManually": true, "referrer": { "id": 0, "code": "string", "name": "string" }, "industry": { "id": 0, "name": "string" }, "marketSegment": { "id": 0, "name": "string" }, "emailTo": "BOOKING_CONTACT", "bankName": "string", "bankAccountName": "string", "bankAccountNo": "string", "bankSortCode": "string", "bankBicCode": "string", "bankIbanCode": "string", "linkCode": "string", "lifecycleStage": "LEAD", "source": "OFFLINE_SOURCE", "creditCheckOk": true, "creditCheckDate": "2019-08-24" }

Get custom fields for a company

Request

Retrieve all custom fields associated with a specific company record in the CRM module of the PMS. The response includes a list of custom fields, each containing details such as field name, type, and value. This endpoint is useful for accessing additional information stored in custom fields that are not part of the standard company attributes.

Security
OAuth2
Path
idinteger(int64)required
curl -i -X GET \
  'https://apidocs.resharmonics.com/_mock/apis/resharmonics-pms/api/v3/companies/{id}/customFields' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

OK

Bodyapplication/json
contentArray of objects(CustomFieldDTO)
pageobject(PageMetadata)
Response
application/json
{ "content": [ {} ], "page": { "size": 0, "totalElements": 0, "totalPages": 0, "number": 0 } }

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

Unit Locations

Represents Unit Location entities within the Property Management System (PMS), each location is associated with a specific unit which and can have multiple internal locations such as bathrooms, living spaces etcThis API allows for the management of unit locations, including retrieval, creation, and updates.

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

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

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

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

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

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