Content API
Modified on: 2023-08-28 17:35
TABLE OF CONTENTS
- Overview
- 1. Create/Update RoomType
- 2. RoomType Query:
- 3. Create Room type class
- 4. Room type class query
- 5. Create Rate Plan
- 6. Rate plan query
- 7. Create Fee/Tax
- 8. Fee query
- 9. Create Product
- 10. Product query
Overview
There are Ten types of messages to exchange ARI content (Rataplan content, Room type, Fee Content) data between your PMS and DerbySoft Property Connector. To help you create&edit&query rate plan, room type as well as fee content.
- Create Room type: To create room type within Property Connector so that Room type data can pass through. The room type static information will be updated if the room type code already exists
- Room type query: To query all the room types under this Property.
- Create Room type class: To create room type class within Property Connector so that Room type class data can pass through. The room type class static information will be updated if the room type code already exists. The room type class is the cluster of Roomtype.
- Room type class query: To query all the room types class under this Property.
- Create Rate plan: To create Rate plan within Property Connector so that rate plan data can pass through. The RatePlan static information will be updated if the rate plan code already exists.
- Rate plan query: To query all the rate under this Property.
- Create Fee: To create the Fee that will be used for this property. The Fee will be updated if the Fee code already exists.
- Fee query: To query all the Fees that have been set under this Property.
- Create Product: To create a product within Property Connector so that the Rate plan can be associated with room type.
- Product query: To query all the products under this Property.
1. Create/Update RoomType
This API is used to create a new Roomtype within Property connector. Property Connector will receive the Room type information from PMS only if the Room type has been created. Room type can be created either by this API or the Property Connector interface.
POST /pcapigateway/profile/{accountId}/hotels/{hotelId}/roomTypes/{roomId} HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Schema
Element | Type | Occurrence | Description | Comment |
---|---|---|---|---|
occupancy/maxAdult | String | Mandatory |
| 0~20、maxAdult<=maxOccupancy |
occupancy/maxChild | String | Mandatory |
| 0~20、maxChild<=maxOccupancy |
occupancy/maxOccupancy | String | Mandatory |
| 0~20 |
roomClassId | String | Optional |
|
|
roomDescription | String | Optional |
|
|
roomId | String | Mandatory |
|
|
roomName | String | Mandatory |
|
|
status | Enum
| Mandatory |
|
|
Example:
Request:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "roomId": "DR", "roomClassId": "DRCS", "status": "Actived", "roomName": "Double Room", "roomDescription": "Double Room Description", "occupancy": { "maxAdult": "2", "maxChild": "1", "maxOccupancy": "3" } }
Response-Success
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "roomId": "DR", "roomClassId": "DRCS", "status": "Actived", "roomName": "Double Room", "roomDescription": "Double Room Description", "occupancy": { "maxAdult": "2", "maxChild": "1", "maxOccupancy": "3" } }
2. RoomType Query:
Example - Query the Specfic Roomtype for a Property
This API is used to query a room type that exist in Property Connector for this property.
GET /pcapigateway/profile/{accountId}/hotels/{hotelId}/roomTypes/{roomId} HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Response:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "roomId": "KINGR", "roomClassId": "DRCS", "status": "Actived", "roomName": "King Room", "roomDescription": "King Room Description", "occupancy": { "maxAdult": "3", "maxChild": "1", "maxOccupancy": "4" } }
Example - Query all Room Types for a Property
This API is used to query all room types that exist in Property Connector for this property.
GET /pcapigateway/profile/{accountId}/hotels/{hotelId}/roomTypes HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Response:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "roomList": [{ "roomId": "KINGR", "roomClassId": "DRCS", "status": "Actived", "roomName": "King Room", "roomDescription": "King Room Description", "occupancy": { "maxAdult": "3", "maxChild": "1", "maxOccupancy": "4" } }, { "roomId": "DR", "roomClassId": "DRCS", "status": "Actived", "roomName": "Double Room", "roomDescription": "Double Room Description", "occupancy": { "maxAdult": "2", "maxChild": "1", "maxOccupancy": "3" } } ] }
3. Create Room type class
This API is used to create a new Room type class within Propery connect as the cluster of Room type. Property Connector will then receive the Room type class information from PMS only if the Rate plan has been created. Rate plan can be created either by this API or the Property Connector interface.
POST /pcapigateway/profile/{accountId}/hotels/{hotelId}/roomClasses/{roomClassId} HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Schema
Element | Type | Occurrence | Description | Comment |
---|---|---|---|---|
roomClassId | String | Mandatory |
|
|
roomClassName | String | Mandatory |
|
|
status | Enum
| Mandatory |
|
|
Example:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "roomClassId": "DRCS", "roomClassName": "Deluxe King Room", "status": "Actived" }
Response:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "roomClassId": "DRCS", "roomClassName": "Deluxe King Room", "status": "Actived" }
4. Room type class query
Example - Query the Specific Room Type Class for a Property
This API is used to query a Room type class detail information within the property connector.
GET /pcapigateway/profile/{accountId}/hotels/{hotelId}/roomClasses/{roomClassId} HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Response:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "roomClassId": "DRCS", "roomClassName": "Deluxe King Room", "status": "Deactived" }
Example - Query all Room Type Classes for a Property
This API is used to query all Room type class that exists in Property Connector for this property.
GET /pcapigateway/profile/{accountId}/hotels/{hotelId}/roomClasses HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Response:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.2" }, "roomClassList": [{ "roomClassId": "DRCS", "roomClassName": "Deluxe Room", "status": "Actived", }, { "roomClassId": "DKCS", "roomClassName": "King Room", "status": "Actived" } ] }
5. Create Rate Plan
This API is used to create a new Rate plan within Property connector. Property Connector will receive the Rate plan information from PMS only if the Rate plan has been created. Rate plan can be created either by this API or the Property Connector interface.
POST /pcapigateway/profile/{accountId}/hotels/{hotelId}/ratePlans/{rateId} HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Schema
rateId | String | Mandatory |
|
|
status | Enum
| Mandatory |
|
|
rateName | String | Mandatory |
|
|
rateDescription | String | Optional |
|
|
rateType | Enum
| Mandatory | ||
paymentType | Enum
| Mandatory |
| PayNow: prepay online |
priceType | Enum
| Optional | ||
guaranteeType | Enum
| Optional |
| CCG: Credit Card Guarantee |
defaultMealPlan | String | Mandatory |
| |
defaultCancelPolicy | Object[CancelPolicy] | Mandatory |
|
|
currency | String | Mandatory |
Currency code with ISO 4217 standard | |
defaultCancelPolicy/cancelPolicy/code |
| Mandatory |
| Appendix - Cancel Policy |
defaultCancelPolicy/cancelPolicy/description |
| Optional |
|
|
cancelPolicies | List[CancelPolicyWithDateRange] | Optional |
|
|
cancelPolicies/dateRange/startDate | Date:yyyy-MM-dd | Mandatory |
|
|
cancelPolicies/dateRange/endDate | Date:yyyy-MM-dd | Mandatory |
|
|
cancelPolicies/cancelPolicy/code |
| Mandatory |
| Appendix - Cancel Policy |
cancelPolicies/cancelPolicy/description |
| Optional |
|
|
Example:
Request:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "rateId": "IDDRNWED", "status": "Actived", "rateName": "Weekend Rate Room Only", "rateDescription": "Weekend Rate Room Only", "rateType": "AmountBeforeTax", "priceType": "SellPrice", "paymentType": "PayLater", "guaranteeType": "GCC", "defaultMealPlan": "RO", "currency": "USD", "defaultCancelPolicy": { "code": "AD100P_100P" }, "cancelPolicies": [{ "dateRange": { "startDate": "2000-01-01", "endDate": "2099-12-31" }, "cancelPolicy": { "code": "AD100P_100P" } }] }
Response:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "rateId": "IDDRNWED", "status": "Actived", "rateName": "Weekend Rate Room Only", "rateDescription": "Weekend Rate Room Only", "rateType": "AmountBeforeTax", "priceType": "SellPrice", "paymentType": "PayLater", "guaranteeType": "GCC", "defaultMealPlan": "RO", "currency": "USD", "defaultCancelPolicy": { "code": "AD100P_100P" }, "cancelPolicies": [{ "dateRange": { "startDate": "2000-01-01", "endDate": "2099-12-31" }, "cancelPolicy": { "code": "AD100P_100P" } }] }
6. Rate plan query
Example - Query the Specific Rate Plan for a Property
This API is used to query a Rate plan that exist in Property Connector for this property.
GET /pcapigateway/profile/{accountId}/hotels/{hotelId}/ratePlans/{rateId} HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Response
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "rateId": "IDDRNWED", "status": "Actived", "rateName": "Weekend Rate Room Only", "rateDescription": "Weekend Rate Room Only", "rateType": "AmountBeforeTax", "priceType": "SellPrice", "paymentType": "PayLater", "guaranteeType": "GCC", "defaultMealPlan": "RO", "currency": "USD", "defaultCancelPolicy": { "code": "AD100P_100P" }, "cancelPolicies": [{ "dateRange": { "startDate": "2000-01-01", "endDate": "2099-12-31" }, "cancelPolicy": { "code": "AD100P_100P" } }] }
Example - Query All Rate Plans of a Property
This API is used to query all Rate plan that exist in Property Connector for this property.
GET /pcapigateway/profile/{accountId}/hotels/{hotelId}/ratePlans HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Response
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "rateList": [ { "rateId": "BARRATE", "status": "Actived", "rateName": "Weekend Rate Room Only", "rateDescription": "Weekend Rate Room Only", "rateType": "AmountBeforeTax", "priceType": "SellPrice", "paymentType": "PayLater", "guaranteeType": "GCC", "defaultMealPlan": "RO", "currency": "USD", "defaultCancelPolicy": { "code": "AD100P_100P" }, "cancelPolicies": [ { "dateRange": { "startDate": "2000-01-01", "endDate": "2099-12-31" }, "cancelPolicy": { "code": "AD100P_100P" } } ] }, { "rateId": "IDDRNWED", "status": "Actived", "rateName": "Weekend Rate Room Only", "rateDescription": "Weekend Rate Room Only", "rateType": "AmountBeforeTax", "priceType": "SellPrice", "paymentType": "PayLater", "guaranteeType": "GCC", "defaultMealPlan": "RO", "currency": "USD", "defaultCancelPolicy": { "code": "AD100P_100P" }, "cancelPolicies": [ { "dateRange": { "startDate": "2000-01-01", "endDate": "2099-12-31" }, "cancelPolicy": { "code": "AD100P_100P" } } ] } ] }
7. Create Fee/Tax
This API is used to create a new Fee/Tax within Property connector. Property Connector will receive Fee/Tax information from PMS only if the Fee/Tax has been created. It can be created either by this API or the Property Connector interface. If the Fee/Tax already exist, it will be updated based on the data from PMS.
POST /pcapigateway/profile/{accountId}/hotels/{hotelId}/fees/{feeId} HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Request Schema
feeId | String | Mandatory |
|
|
dateRange | Object[DateRange] | Mandatory |
|
|
DateRange/startDate | Date:yyyy-MM-dd | Mandatory |
|
|
DateRange/endDate | Date:yyyy-MM-dd | Mandatory |
|
|
fee | Object[Fee] | Mandatory |
|
|
Fee/name | String | Mandatory |
|
|
Fee/amount | String | Mandatory |
|
|
Fee/amountType | Enum
| Mandatory |
| Fix, Percent |
Fee/chargeType | Enum
| Mandatory |
| PerRoomPerNight, PerPersonPerNight, PerRoomPerStay, PerPersonPerStay |
Example:
Request
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "feeId": "FEE01001", "dateRange": { "startDate": "2000-01-01", "endDate": "2022-12-31" }, "fee": { "name": "Service Charge", "amount": 10, "amountType": "Percent", "chargeType": "PerRoomPerNight" } }
Response:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "feeId": "FEE01001", "dateRange": { "startDate": "2000-01-01", "endDate": "2022-12-31" }, "fee": { "name": "Service Charge", "amount": 10, "amountType": "Percent", "chargeType": "PerRoomPerNight" } }
8. Fee query
Example - Query the Specific Fee/Tax for a Property
This API is used to query a Fee that exist in Property Connector for this property.
GET /pcapigateway/profile/{accountId}/hotels/{hotelId}/fees/{feeId} HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Request
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "feeId": "FEE01001", "dateRange": { "startDate": "2000-01-01", "endDate": "2022-12-31" }, "fee": { "name": "Service Charge", "amount": 10, "amountType": "Percent", "chargeType": "PerRoomPerNight" } }
Example - Query All Fee/Tax for a Property
This API is used to query all Fee that exist in Property Connector for this property.
GET /pcapigateway/profile/{accountId}/hotels/{hotelId}/fees HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Request
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.1" }, "feeList": [{ "feeId": "FEE01001", "dateRange": { "startDate": "2000-01-01", "endDate": "2022-12-31" }, "fee": { "name": "Service Charge", "amount": 10, "amountType": "Percent", "chargeType": "PerRoomPerNight" } }, { "feeId": "FEE01002", "dateRange": { "startDate": "2000-01-01", "endDate": "2022-12-31" }, "fee": { "name": "TAX", "amount": 16.6, "amountType": "Percent", "chargeType": "PerRoomPerNight" } } ] }
9. Create Product
This API is used to create a new product within Property connector. Property Connector will receive product relationships from PMS only if the rateplan and roomtype have been created. It can be created either by this API or the Property Connector interface. If the product releationship already exist, it will be updated.
POST /pcapigateway/profile/{accountId}/hotels/{hotelId}/products HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Schema
productList | List[product] | Optional |
|
|
Product/roomId | String | Mandatory |
|
|
Product/rateId | String | Mandatory |
|
|
Product/status | Enum
| Mandatory | StopSell PreSale Bookable |
|
Example:
Request
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.2" }, "productList": [{ "roomId": "DK", "rateId": "IDDRNDAR", "status": "Actived" }, { "roomId": "DK", "rateId": "BARRATE", "status": "Actived" }] }
Response:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.2" }, "productList": [{ "roomId": "DK", "rateId": "IDDRNDAR", "status": "Actived" }, { "roomId": "DK", "rateId": "BARRATE", "status": "Actived" }] }
10. Product query
Example - Query all Products for a Property
This API is used to query all product relationship that exist in Property Connector for this property.
GET /pcapigateway/profile/{accountId}/hotels/{hotelId}/products HTTP/1.1 Authorization: Bearer 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc Accept-Encoding: gzip Content-Encoding: gzip Content-Type: application/json;charset=utf-8
Response:
{ "header": { "echoToken": "25c8cb40-52a0-449f-8fc9-0187c6f3f19e", "timeStamp": "2018-06-27T17:09:04.674Z", "version": "0.2" }, "productList": [{ "roomId": "DK", "rateId": "IDDRNDAR", "status": "Actived" }, { "roomId": "DK", "rateId": "BARRATE", "status": "Actived" }] }
Did you find it helpful? Yes No
Send feedback