TABLE OF CONTENTS

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.


  1. 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
  2. Room type query: To query all the room types under this Property.
  3. 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.
  4. Room type class query: To query all the room types class under this Property.
  5. 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.
  6. Rate plan query: To query all the rate under this Property.
  7. Create Fee: To create the Fee that will be used for this property. The Fee will be updated if the Fee code already exists.
  8. Fee query: To query all the Fees that have been set under this Property.
  9. Create Product: To create a product within Property Connector so that the Rate plan can be associated with room type.
  10. 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

  • Actived

  • Deactived

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

  • Actived

  • Deactived

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


Element

Type

Occurrence

Description

Comment

rateId

String

Mandatory

 

 

status

Enum

  • Actived

  • Deactived

Mandatory

 

 

rateName

String

Mandatory

 

 

rateDescription

String

Optional

 

 

rateType

Enum

  • AmountBeforeTax
  • AmountAfterTax
  • Both

Mandatory

paymentType

Enum

  • PayNow

  • PayLater

Mandatory

 

PayNow: prepay online
PayLater: pay at hotel

priceType

Enum


  • NetPrice
  • SellPrice

Optional


guaranteeType

Enum

  • CCG

  • GTTA

  • GTC

  • GTP

  • NG

Optional

 

CCG: Credit Card Guarantee
GTTA: Guarantee to Travel Agent
GTC: Guarantee to Company
GTP: Guarantee to Property
NG: No Guarantee/Direct Bill

defaultMealPlan

String

Mandatory

 

Meal Plan

defaultCancelPolicy

Object[CancelPolicy]

Mandatory

 

 

currencyString

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


Element

Type

Occurrence

Description

Comment

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

  • Fix

  • Percent

Mandatory

 

Fix, Percent

Fee/chargeType

Enum

  • PerRoomPerNight

  • PerPersonPerNight

  • PerRoomPerStay

  • PerPersonPerStay

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


Element

Type

Occurrence

Description

Comment

productList

List[product]

Optional

 

 

Product/roomId

String

Mandatory

 

 

Product/rateId

String

Mandatory

 

 

Product/status

Enum

  • Actived

  • Deactived

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"
  }]
}