Room Rates (push)

Overview

This documentation provides details on how the Push service sends hotel rate information to the client when there are changes in the rates. The client needs to provide a Push URL and an API key for authentication.

Client Information

  • Push URL: Provided by the client.
  • API Key: Provided by the client.

Push Service

How it Works

The service will push data to the client-provided URL whenever there are changes in hotel rates. The data is sent in a JSON format, and the request includes the API key in the headers for authentication.

Payload

The payload is a JSON object containing hotel rate details. Below is the structure of the payload.

hotelId

stringalphanumericrequired

The unique identifier for the hotel. Max length 200 characters.

Example: hotelId: 'HOTEL123'

checkIn

stringYYYY-MM-DDrequired

The check-in date formatted as YYYY-MM-DD.

Example: checkIn: '2024-06-15'

nights

integerrequired

The number of nights for the stay, minimum value is 1.

Default: 1

Example: nights: 3

guests

numberoptional

The number of guests, default value is 2.

Default: 2

Example: guests: 4

rooms

arrayrequired

An array of room details, each object contains specific information about the room.

Example: rooms: [{"name": "Deluxe Suite", "id": "DS101", "description": "A spacious room with a beautiful sea view.", "capacity": 4, "occupancy": 2}]

name

stringrequired

The name of the rate, as presented to users. Max length 200 characters.

Example: name: 'Summer Special Offer'

rule

stringrequired

A rate rule ID, currently only 'member' or 'default'.

Example: rule: 'member'

description

stringrequired

Description of the rate.

Example: description: 'Includes free breakfast, Wi-Fi and parking.'

occupancy

integerrequired

The number of guests that the rate is intended for.

Example: occupancy: 2

breakfastIncluded

booleanoptional

Indicates if breakfast is included.

Example: breakfastIncluded: true

lunchIncluded

booleanoptional

Indicates if lunch is included.

Example: lunchIncluded: false

dinnerIncluded

booleanoptional

Indicates if dinner is included.

Example: dinnerIncluded: true

allInclusive

booleanoptional

Indicates if all-inclusive service is provided.

Example: allInclusive: true

parkingIncluded

booleanoptional

Indicates if parking is included.

Example: parkingIncluded: true

internetIncluded

booleanoptional

Indicates if internet access is included.

Example: internetIncluded: true

refundable

booleanoptional

Indicates if the rate is refundable.

Example: refundable: true

currencyCode

stringISO 4217required

ISO 4217 Currency Code.

Example: currencyCode: 'USD'

value

integerrequired

An integer in the smallest currency unit.

Example: value: 100

taxes

arrayrequired

An array of tax objects, each specifying details about a specific tax.

Example: taxes: [{"type": "NamedPrice", "name": "City Tax", "code": "city-tax", "price": {"currencyCode": "USD", "value": 100}}]