TABLE OF CONTENTS

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.


  1. 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
  2. RoomType Query: To query all the room types under this Property.
  3. 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.
  4. RoomClass Query: To query all the room types class under this Property.
  5. 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.
  6. RatePlan Query: To query all the rate under this Property.
  7. 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.
  8. Fee Query: To query all the fees that have been set under this Property.
  9. Update 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. 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 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

  • Actived

  • Deactived

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


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

 

Appendix - Meal Plan

currency

String

Mandatory

Currency code with ISO 4217 standard

 

defaultCancelPolicyObject[CancelPolicy]

Mandatory

    




defaultCancelPolicy/code

 

Mandatory

 

Appendix - Cancel Policy

defaultCancelPolicy/description

 

Optional

 

 

cancelPolicies

List[CancelPolicyWithDateRange]

Optional

 

 

cancelPolicies/dateRangeObject[DateRange]Mandatory

dateRange/startDate

Date:yyyy-MM-dd

Mandatory

 

 

dateRange/endDate

Date:yyyy-MM-dd

Mandatory

 

 

cancelPolicies/cancelPolicyObject[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


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/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


Element

Type

Occurrence

Description

Comment

productList

List[product]

Optional

 

 

Product/roomId

String

Mandatory

 

 

Product/rateId

String

Mandatory

 

 

Product/status

Enum

  • Actived

  • Deactived

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