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.
  8. DerbySoft send messages from distributors to PMS.


 Module

Message Type

Direction

Use Cases

Comment

Property
Update HotelPMS → DerbySoftCreate or Update hotel information
ContentUpdate RoomClassPMS → DerbySoftCreate or Update room class
Update RoomTypePMS → DerbySoftCreate or Update room type
Update RatePlanPMS → DerbySoftCreate or Update rate plan
Update FeePMS → DerbySoftCreate or Update fee or tax rule
Update ProductPMS → DerbySoftCreate or Update room type-rate plan combination

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


Modify

DerbySoft → PMS

Modify an existing reservation


Cancel

DerbySoft → PMS

Cancel an existing reservation


Update Reservation Status
PMS → DerbySoftUpdate reservation status

Ping

Ping

DerbySoft → PMS

Monitor whether the interface is working properly.

AccountToken RefreshPMS → DerbySoft
Obtain & Refresh token

Message
Send Message

DerbySoft → PMS

Send a new messageOnly works for Airbnb


Property Creation sequence chart

Product Creation sequence chart

ARI sequence chart

Channel Setting sequence chart

Reservation sequence chart

Message 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 [email protected] 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}

Works for ARI & Update Reservation Status

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

Works for Property, Content & Channel

https://pcendpoint.derbysoft-test.com/pcapigateway/account/token

Works for Account

PROD




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

Works for ARI & Update Reservation Status

https://pcendpoint.derbysoftsec.com/pcapigateway/profile/{accountId}

Works for Property, Content & Channel

https://pcendpoint.derbysoftsec.com/pcapigateway/account/token

Works for Account



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.