TABLE OF CONTENTS


Overview

Property Connector APIs allow PMS Company to integrate DerbySoft Property Connector for data exchange on ARI, Reservation, and Stay Record as well as the creation of Property, RatePlan, and Roomtype. PMS company can step into DerbySoft connectivity platform through the PMS Integration API to empower the PMS distribution capability.


DerbySoft designed the PUSH/PUSH model for ARI & Reservation data exchange between PMS and DerbySoft Property Connector. Please refer to the diagram below:


  1. PMS push Property data to Derbysoft to create the Property in Property Connector.
  2. PMS push Rateplan&Roomtype data to Derbysoft to create the product in PropertyConnector.
  3. PMS push ARI to DerbySoft, and DerbySoft process the data into the database in the async model.
  4. PMS push channel setting data to Derbysoft to create or update the settings of the specific channel in PropertyConnector.
  5. PMS push channel mapping data to Derbysoft to create or update the mapping between channel product and hotel product in PropertyConnector.
  6. DerbySoft push reservations from distributors to PMS and deliver back the confirmation or errors to distributors directly.
  7. PMS push Stay Record to Derbysoft, Derbysoft generates report accordingly.


 

Message Type

Direction

Use Cases

Comment

Hotel InfoUpdate/Create HotelPMS → DerbySoftCreate or Update hotel information
Update RoomClassPMS → DerbySoftCreate or Update room information
Update RoomTypePMS → DerbySoft

Update RatePlanPMS → DerbySoft

Update FeePMS → DerbySoft

Update ProductPMS → DerbySoft

ARI

Update Rate

PMS → DerbySoft

Updates rates

/

Update Inventory

PMS → DerbySoft

Updates inventories

/

Update Availability

PMS → DerbySoft

Updates availabilities

/
Channel
Retrieve Channel ListPMS → DerbySoft
Get the latest channel list
Update ChannelSetting
PMS → DerbySoftActivate or Update channel settingSame API for channel activation or updating.
Update ChannelMappingPMS → DerbySoftUpdate mapping table between channel product and hotel productPlease send the Channel product ID in the XML.
For non-mapping channel, the channel product ID will be the same as the PMS product ID.
ChannelProduct QueryPMS → DerbySoftFetch channel products which need mappingOnly works for channels requires mappings, including Agoda, Booking.com and Expedia.

Reservation
Live CheckDerbySoft → PMSCheck Real-time availability

Book

DerbySoft → PMS

Make a new reservation

/

Cancel

DerbySoft → PMS

Cancel a reservation

/

Stay Record

StayPMS → DerbySoft

Health check

Ping

DerbySoft → PMS

//
Token RefreshAuthenticationPMS → DerbySoft
Refresh token


Property Creation sequence chart

Product Creation sequence chart

ARI sequence chart

Channel Setting sequence chart

Reservation sequence chart




Security & Authentication

DerbySoft Property Connector process the access authentication with Bearer Token. Our system validates every message while calling our API service. 


Please contact pms.service@derbysoft.net to acquire Client ID and Client Secret while integrating to our system, then call Token Obtain&Refresh API to get bearer token. Here is an exmaple to explain how to access our APIs. 

POST /pcapigateway/tunnel/{accountId}/rate HTTP/1.1
Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc
Accept-Encoding: gzip
Content-Type: application/json;charset=utf-8


DerbySoft Property Connector is certified to be compliant with the PCI-DSS standard and GDPR, we recommend your PMS also be certified for it.

Important: 
Our system can only support TLSv1.2 and above via HTTPS, please make sure your application can be compatible with it.



JSON Service

DerbySoft PMS Integration API is well designed under JSON restful API, which is following the specification of RFC4627. Please add “Content-Type: application/json;charset=utf-8“ in your HTTP request header to ensure our application can parse your request correctly.

Important:
UTF-8 is the only charset supported by us for characters encoding & decoding, which ensures your application can accept some non-Latin characters like guest name, comments, etc.



Message Header

There is a common message header in each request and response to trace the transaction between PMS and DerbySoft Property Connector. DerbySoft records them in the log system for troubleshooting. It’s recommended that your PMS system can also log them and provide them to us for issue investigation in the future.


Element

Type

Occurrence

Description

Comment

echoToken

String

Mandatory

Unique ID, less than 50 characters in length.

The unique trace id for each transaction, and must be the same in the transaction of request and response message.

timeStamp

yyyy-MM-dd'T'HH:mm:ss.SSSZ

Mandatory

UTC Time of the transaction.

2018-06-27T17:09:04.674Z

version

String

Mandatory

The version of the message.

/



Property Connector Endpoints


Endpoint

IP Address

Comment

TEST

https://pcendpoint.derbysoft-test.com/pcapigateway/tunnel/{accountId}/{method}

 /

PROD

https://pcendpoint.derbysoftsec.com/pcapigateway/tunnel/{accountId}/{method}

 /



Outbound IP Addresses

Please find the below IP addresses if you have to set up the IP whitelist: 


Endpoint

IP Address

Comment

TEST

52.83.237.180

 /

PROD

34.210.91.128/26

 /

34.223.15.0/25

 /

43.192.1.64/28 /
3.0.5.64/26 /



Success & Failure

DerbySoft Property Connector follows HTTP status code standard to indicate successful response or failure response. HTTP status code 200 means the requests are well processed in the servers, HTTP status code 500 means there is an error occurred. Please follow this standard as it’s useful to integrate with some third-party monitoring system and tracing system.


Error Handling

It is expected that your PMS has a robust error handling process in place. This includes a queuing mechanism and a robust retry strategy. An error response should contain a short description of the error to assist our support teams.


HTTP Status Code

Description

401

Unauthorized indicates that the request has not been applied because it lacks valid authentication credentials for the target resource

403

Forbidden indicates that the server understood the request but refuses to authorize it

404

Not Found indicates that the server can't find the requested resource

405

Method not allowed indicates that the request method is known by the server but is not supported by the target resource

429

Too Many Requests indicates the user has sent too many requests in a given amount of time ("rate limiting")

500

Server Error indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. In this case, mostly there is some business error occurs such as InvalidField on our end. Your application has to parse the response to get the correct error details.

The error details will be including errorCode, errorMessage, and header in the response. Please refer to the example below:

{
  "header": {
    "echoToken": "f67ade36-0b83-49cf-bfb1-b932c45b7d34",
    "timeStamp": "2018-06-27T17:09:04.674Z",
    "version": "1.00"
  },
  "errorCode": "InvalidField",
  "errorMessage": "Invalid token"
}



Error Response

The common error response when there is a business error occurred.


Element

Type

Occurrence

Description

Comment

errorCode

String

Mandatory

Error code

Please refer to Appendix - Error Code for the full list of error codes

errorMessage

String

Mandatory

Error message

/
Note:
The error response always be with the message header, and only appears in the HTTP status code 500.