Booking Request
Request
| Method | URL |
|---|---|
| POST | api/v3/hotels/bookings |
Booking Payload
| Attribute | Type | Required | Description |
|---|---|---|---|
| search_id | string | REQUIRED | Search ID returned in the search response |
| hotel_code | string | REQUIRED | GRN hotel code returned in search response |
| city_code | string | REQUIRED | City code returned in search response |
| booking_name | string | Required | Name of the booking; for agent’s reference |
| group_code | string | REQUIRED | Group code returned in search |
| checkin | date | REQUIRED | Check-in date; ISO8601 format (YYYY-MM-DD). |
| checkout | date | REQUIRED | Check-out date; ISO8601 format (YYYY-MM-DD). |
| payment_type | string | REQUIRED | “AT_WEB” |
| holder | object | REQUIRED | Information of the lead passenger. See Holder for details. |
| booking_items | array | REQUIRED | Information of the rooms and the pax in the rooms. See Booking Item for details. |
| booking_comments | string | OPTIONAL | Optional booking comments to be passed along to the hotel |
| agent_reference | string | OPTIONAL | Optional. Alpha Numeric and -_ allowed. |
| purpose_of_travel | integer | OPTIONAL | Possible values 1 or 2 1: Leisure 2: Business |
Booking Item:
| Attribute | Type | Required | Description |
|---|---|---|---|
| rate_key | string | REQUIRED | rate_key value from the search response in case rate type Bookable. If rate type Refetch/Recheck rate_key value from the Refetch/Recheck response. |
| room_code | string | REQUIRED, if returned in the search response. Value to be picked-up from search response in case rate type Bookable. If rate type Refetch/Recheck room_code value from the Refetch/Recheck response. |
room_code value from the search response |
| rooms | array | REQUIRED | List of Room elements |
Room
| Attribute | Type | Required | Description |
|---|---|---|---|
| room_reference | string | REQUIRED, if returned in the search response. Value to be picked-up from search response in case rate type Bookable. If rate type Refetch/Recheck room_reference value from the Refetch/Recheck response. |
Unique room reference for the room |
| paxes | array | REQUIRED | Contains the information of Pax in the room |
| no_of_infants | integer | OPTIONAL, required if Infants are present |
Number of infants |
| bedtype_id | integer | OPTIONAL | Preferred bed type which can be selected from the list of bed types returned in the search response. |
Pax
| All guest names are required for adult as well as child. Guest names must be unique. |
| Attribute | Type | Required | Description |
|---|---|---|---|
| title | string | REQUIRED | Title of the passenger (accepted values are: “Mr.”, “Ms.”, “Mrs.”, “Mstr.”) |
| name | string | REQUIRED | Name of the person staying in the room. Must not contain any special characters and numbers. |
| surname | string | REQUIRED | Surname/patronymic of the person staying in the room. Must not contain any special characters and numbers. |
| type | string | REQUIRED | Must be either “AD” or “CH” |
| age | integer | REQUIRED if type = “CH” | Age of the children |
Holder
| Attribute | Type | Required | Description |
|---|---|---|---|
| title | string | REQUIRED | Title of the passenger (accepted values are: “Mr.”, “Ms.”, “Mrs.”, “Mstr.”) |
| name | string | REQUIRED | Name of the lead passenger. Must not contain any special characters and numbers. |
| surname | string | REQUIRED | Surname/patronymic of the lead passenger. Must not contain any special characters and numbers. |
| string | REQUIRED | Valid email address of the lead passenger | |
| phone_number | string | REQUIRED | Phone number of the lead passenger |
| client_nationality | string | REQUIRED | Two-letter ISO country code of the lead passenger |
| pan_number | string | REQUIRED if pan_required = "true" in search | PAN Number is required, when pan_required is true in search response |
Credit Card
| Attribute | Type | Required | Description |
|---|---|---|---|
| card_type | string | REQUIRED | Card Types are listed below |
| give_name | string | REQUIRED | Name of Card Holder |
| family_name | string | REQUIRED | Family name of Card Holder |
| card_number | string | REQUIRED | Card Number in string format ex: "1234456789123" with any additional characters in between numbers |
| card_cv2 | string | REQUIRED | Card CV2 or CVV |
| expiry_month | string | REQUIRED | Month of card in string format - like "01" or "12" |
| expiry_year | string | REQUIRED if pan_required = "true" in search | Year of card in "YYYY" format - like "2022" or "2021" |
| address_line1 | string | REQUIRED if pan_required = "true" in search | Address of the card holder |
| city_name | string | REQUIRED if pan_required = "true" in search | City of Card Holder. |
Card Types
| "AX" | "American Express", |
| "BC" | "Bank Card", |
| "BL" | "Carte Bleu", |
| "CB" | "Carte Blanche", |
| "DN" | "Diners Club", |
| "DS" | "Discover Card", |
| "EC" | "Eurocard", |
| "JC" | "Japanese Credit Bureau Credit Card", |
| "MA" | "Maestro", |
| "MC" | "Master Card" |
| "SO" | "Solo", |
| "CI" | "Union Pay", |
| "TP" | "Universal Air Travel Card", |
| "VE" | "Visa Electron", |
| "VI" | "Visa" |
Sample Booking Payload
For Bundled Rates:
{
"search_id": "d3kmmkyqvuhyi7pnrkcm5szkvu",
"hotel_code": "H!0049396",
"city_code": "C!000555",
"group_code": "wsdbjylcxn4uf",
"checkin": "2016-12-29",
"checkout": "2016-12-30",
"booking_comments": "Testing",
"payment_type": "AT_WEB",
"purpose_of_travel": 2,
"booking_items": [
{
"room_code": "4ddfznbt7quczuc3",
"rate_key": "wknvbnjq4n6sjr2qusmwaags4hn2zxhz6czoztzjr",
"rooms": [
{
"bedtype_id": 25,
"no_of_infants": 2,
"paxes": [
{
"title": "Mr.",
"name": "Sam",
"surname": "Patrick",
"type": "AD"
}
]
},
{
"paxes": [
{
"title": "Mr.",
"name": "Henry",
"surname": "Patrick",
"type": "AD"
},
{
"title": "Mr.",
"name": "Harry",
"surname": "Patrick",
"type": "AD"
},
{
"title": "Mr.",
"name": "Luke",
"surname": "Patrick",
"type": "CH",
"age": "3"
}
]
}
]
}
],
"holder": {
"title": "Mr.",
"name": "James",
"surname": "Patrick",
"email": "james@pat.com",
"phone_number": "6614565589",
"client_nationality": "fr"
"pan_number": "AXXXX0000A"
}
}
For Non Bundled Rates:
{
"search_id": "d3kmmkyqvuhyi7pnrkcm5szkvu",
"hotel_code": "H!0049396",
"city_code": "C!000555",
"group_code": "wcobnyltrv3xhbq",
"checkin": "2016-12-29",
"checkout": "2016-12-30",
"booking_comments": "Testing",
"payment_type": "AT_WEB",
"booking_items": [
{
"room_code": "43fevnb45bouroa",
"rate_key": "nhzihyw3fvlaj5xq5ua2dcgfb6oxye4wktlutu3vs",
"rooms": [
{
"paxes": [
{
"title": "Mr.",
"name": "Henry",
"surname": "Patrick",
"type": "AD"
},
{
"title": "Mr.",
"name": "Harry",
"surname": "Patrick",
"type": "AD"
},
{
"title": "Mr.",
"name": "Luke",
"surname": "Patrick",
"type": "CH",
"age": "3"
}
]
}
]
},
{
"room_code": "47eevnb45bouroa",
"rate_key": "cmg5hph74uaq6qghgwbthpxr5cmtuxec5liojekowzhzspwdpa2v4",
"rooms": [
{
"no_of_infants": 1,
"paxes": [
{
"title": "Mr.",
"name": "Sam",
"surname": "Patrick",
"type": "AD"
}
]
}
]
}
],
"holder": {
"title": "Mr.",
"name": "James",
"surname": "Patrick",
"email": "james@pat.com",
"phone_number": "6614565589",
"client_nationality": "fr"
}
}