TABLE OF CONTENTS

Hotel Products Activation

The Hotel Products Activation API is an optional step that allows Push distributors to specify which hotel product lists they plan to sell or stop-sell, along with the status of each product (Active or Inactive) for every hotel. While product activation is necessary in the Push ARI model for DerbySoft to deliver ARI at the product level, it is up to the distributor to decide whether to handle this process themselves or delegate it to DerbySoft.  

Distributors can use this API to:

  • Indicate which hotel products they intend to sell or stop-sell by providing a list of products with their statuses (Active or Inactive) for each hotel.
GET /hotel/{supplierId}/{hotelId} HTTP/1.1
URL: {AvailabilityPeer-Endpoint}/hotel/{supplierId}/{hotelId}
Authorization: 53ac07777cdffac2d53000002d698728ce964432d7167596bc005c5fc
Accept-Encoding: gzip
Content-Encoding: gzip
Content-Type: application/json;charset=utf-8

Hotel Product Activation Push Distributors Request Schema

Request(METHOD: GET)
LevelField NameData TypeRequiredDescriptionExample
1supplierIdstringYThe code that uniquely identifies a supplier in DerbySoft's systemHILTON
1hotelIdstringYThe code that uniquely identifies a single hotel in hotel suppliers systemGATHI

Hotel Product  Activation Push Distributors Request Example

Sample URL: 
https://dsgo.xxxxx.net/hotel/GOHOTEL/GOH103

Hotel Product Activation Push Distributors Response Schema

Response
LevelField NameData TypeRequiredDescriptionExample
1

supplierId

string

Y

The code that uniquely identifies a supplier in DerbySoft's system

 HILTON

1

hotelId

string

Y

The code that uniquely identifies a single hotel in hotel suppliers system

GATHI

1

status

enum

Y

Enum: [ Actived, Deactived ]

Hotel Status provided by hotel suppliers [Actived, Deactived]: 

Actived means the hotel is active for the distribution.

Deactived means the hotel is NOT active for the distribution. ARI will not flow for deactivated hotels.

Actived

1

settings

object

N

A common extension object for extra attributes like account, extra settings required by a distributor, etc.

"settings": {
"key": "value"
}

1

ariType

enum

Y

Emun:[ Daily, LOS ]

Indicates which ARI PUSH model is used for this hotel.
Daily: ARI is pushed for specific dates LOS: ARI is pushed for specific dates and length of stay.

Daily

1

rateType

enum

Y

Emun: [ AmountBeforeTax, AmountAfterTax, Both ]

Indicates which rate will be used in ARI and Reservation flow.

AmountBeforeTax: Only AmountBeforeTax can be sent to the distributor and then back to the supplier.

AmountAfterTax: Only AmountAfterTax can be sent to the distributor and then back to the supplier.

Both: Both AmountBeforeTax and AmountAfterTax can be sent to the distributor and then back to the supplier.

AmountBeforeTax

1

products

array

Y

 /

 /

2

@roomId

string

Y

Room ID in supplier's system

King

2

@rateId

string

Y

Rate ID in supplier's system

BAR

2

@status

enum

Y

Enum: [ Actived, Deactived ]
Product status indicated by distributors: Actived means the product is active on the distribution system.

Deactived means the product is NOT active on the distribution system. ARI will not flow for deactived products

Actived

2

@roomName

string

N

Room type name
Max Length: 256

King Room

2

@rateName

string

N

Rate plan name
Max Length: 256

Best Available Rate

2

occupancy

object

Y

 /

 /

3

@maxAdult

integer

Y

Max adult count

3

3

@maxChild

integer

Y

Max child count

2

3

@maxOccupancy

integer

Y

Max occupancy

3

1errorstringNerror responseKey not authorized
1errorCodestringCerror responseInvalidField
1errorMessagestringCerror responseInvalid Message

Hotel Product  Activation Push Distributors Response Example

Success Response (HTTP Status 200)
{
  "supplierId": "HILTON",
  "hotelId": "GATHI",
  "status": "Actived",
  "settings": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "ariType": "Daily",
  "rateType": "AmountBeforeTax",
  "products": [
    {
      "roomId": "K1",
      "rateId": "CBAR",
      "status": "Actived",
      "roomName": "Double Room",
      "rateName": "Bar Rate",
      "occupancy": {
        "maxAdult": 3,
        "maxChild": 2,
        "maxOccupancy": 3
      }
    }
  ]
}
Error Response (HTTP Status 401)
{
    "error": "Key not authorised"
}
Error Response (HTTP Status 500)
{
  "errorCode": "InvalidField",
  "errorMessage": "Invalid Message"
}