Content API
Modified on: 2024-12-30 11:48
TABLE OF CONTENTS
- Overview
- 1. Update RoomType
- 2. RoomType Query
- 3. Update RoomClass
- 4. RoomClass Query
- 5. Update RatePlan
- 6. RatePlan Query
- 7. Update Fee
- 8. Fee Query
- 9. Update Product
- 10. Product Query
Overview
There are Ten types of messages to exchange ARI content (Rataplan content, Roomtype content, 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.
- Update RoomType: 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
- RoomType Query: To query all the room types under this Property.
- Update RoomClass: To create room class within Property Connector so that room class data can pass through. The room class static information will be updated if the room class code already exists. The room class is the cluster of room type.
- RoomClass Query: To query all the room types class under this Property.
- Update RatePlan: To create rate plan within Property Connector so that rate plan data can pass through. The rate plan static information will be updated if the rate plan code already exists.
- RatePlan Query: To query all the rate under this Property.
- Update Fee: To create the fee or tax 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.
- Update 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. 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 Room Type for a Property
This API is used to query a room type that exists 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. Update RoomClass
This API is used to create a new room class within Propery Connector as the cluster of room type. Property Connector will then receive the room class information from PMS only if the room class has been created. Room class 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:
Request
{ "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. RoomClass Query
Example - Query the Specific Room Class for a Property
This API is used to query a room 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 Classes for a Property
This API is used to query all room classes that exist 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. Update RatePlan
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 |
| Appendix - Meal Plan |
currency | String | Mandatory | Currency code with ISO 4217 standard |
|
defaultCancelPolicy | Object[CancelPolicy] | Mandatory |
| |
defaultCancelPolicy/code |
| Mandatory |
| Appendix - Cancel Policy |
defaultCancelPolicy/description |
| Optional |
|
|
cancelPolicies | List[CancelPolicyWithDateRange] | Optional |
|
|
cancelPolicies/dateRange | Object[DateRange] | Mandatory | ||
dateRange/startDate | Date:yyyy-MM-dd | Mandatory |
|
|
dateRange/endDate | Date:yyyy-MM-dd | Mandatory |
|
|
cancelPolicies/cancelPolicy | Object[cancelPolicy] | Mandatory | ||
cancelPolicy/code |
| Mandatory |
| Appendix - Cancel Policy |
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. RatePlan Query
Example - Query the Specific Rate Plan for a Property
This API is used to query a rate plan that exists 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 plans 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. Update Fee
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 exists, 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/tax that exists 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
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" } }
Example - Query All Fees/Taxes for a Property
This API is used to query all fees/taxes 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
Response
{ "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. Update Product
This API is used to create a new product within Property Connector. Property Connector will receive product relationships from PMS only if the rate plan and room type have been created. It can be created either by this API or the Property Connector interface. If the product releationship already exists, 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 |
|
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 relationships 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