Search And Availability Response
Response
| Attribute | Type | Description |
|---|---|---|
| search_id | string | Unique ID for the search request |
| no_of_hotels | integer | The number of hotels in the response |
| no_of_rooms | integer | The number of rooms requested for |
| no_of_nights | integer | The number of nights the rooms are requested for |
| no_of_children | integer | Number of children |
| no_of_infants | integer | Number of Infants |
| no_of_adults | integer | Number of adults |
| checkin | date | Check-in date |
| checkout | date | Check-out date |
| hotels | array | An array of hotels with availability information. Hotel is described below. |
| more_results | boolean | true if there are more results in cache(i.e hotels or rates still getting processed due to the response delays from our upstreams) |
Hotel
| Attribute | Type | Description |
|---|---|---|
| hotel_code | string | Unique GRN hotel code |
| name | string | Name of the hotel |
| description | string | Description of the hotel |
| city_code | string | City code |
| country | string | Country code |
| recommended | boolean | true if the hotel is recommended by at least one top supplier |
| min_rate | object | Contains the lowest price within a given hotel for the given search criteria. Returned only if ‘concise’ rates are requested. See “rate” for more info |
| images | object | Images of the hotel |
| geolocation | object | Geolocation of the hotel |
| facilities | string | Array of facilities available in the hotel delimited by semicolon |
| category | float | The star category of the hotel |
| address | string | Address of the hotel |
| rates | array | An array of all available rates for a hotel. Returned only if ‘comprehensive’ rates are requested. The Rate element is described below. |
Images
| Attribute | Type | Description |
|---|---|---|
| main_image | string | Path for the main image of the hotel |
N.B: All image paths should be prefixed with the base url https://cdn.grnconnect.com/
Example: https://cdn.grnconnect.com/hotels/images/fa/67/fa67573977698e4442dd4c301168a20c9bd411b4.jpg
Rate
| Attribute | Type | Description |
|---|---|---|
| rate_key | string | Unique code representing the rate. REQUIRED, to be included when making a booking request. |
| rate_type | string | Possible values are ‘bookable’, ‘refetch’ and ‘recheck’. If rate_type = ‘recheck’, you must use re-check endpoint before booking. If rate_type = ‘refetch’, you must use re-fetch availability for hotel-code before booking. |
| rate_comments | object | Object of dynamic key value pairs. Eg: { “comments”: “Rate comments come here”, “price_comments”: “Extra beds on demand YES (without additional debit notes). Wi-fi YES (without additional debit notes) . Minimum check-in age 21. . The person whose name is on the reservation must be at least 21 years of age to check in.\nThe hotel offers cribs and parking (self/valet) at an addtional fee paid locally at the hotel check in by guest\n” } |
| non_refundable | boolean | true if the rate is Non-refundable. Ignore the cancellation_policies if non_refundable is true. Otherwise, cancellation policies apply. |
| room_code | string | Room code representing the rooms in the rate. REQUIRED, to be included when making a booking request. |
| no_of_rooms | integer | Number of rooms included in this rate |
| group_code | string | Represents a group of related rates. When booking multiple rates, you must use rates from the same group. REQUIRED, to be included when making a booking request. |
| price | float | Price for the rooms included in this rate. |
| price_details | object | Price details. Refer below for more info. |
| currency | string | Three-letter ISO currency code of the price |
| payment_type | array | Allowed payment types: AT_WEB, AT_HOTEL |
| allowed_card_types | array | An array of allowed card types. |
| cancellation_policy | object | Cancellation policy for the rate. See Cancellation Policy for details. |
| cancellation_policy_code | string | Code representing the cancellation policy for the rate. This is returned when cancellation policies are not available for the rate. This shall be used for fetching cancellation policies for the rate using cancellation policy end point. |
| has_promotions | boolean | true if any promotions are included in this rate |
| promotions_details | array | Array of promotions (strings), if any |
| includes_boarding | boolean | true if boarding is included in this rate |
| boarding_details | array | Array of boarding details (strings), if available |
| other_inclusions | array | Array of other inclusions (strings), if available |
| includes_wifi | boolean | true if wi-fi is included in this rate |
| supports_amendment | boolean | true if this booking can be amended through api. |
| supports_cancellation | boolean | true if this booking can be cancelled through api. |
| rooms | array | Array of rooms included for this rate. See Room for details. |
Price Details:
Dynamic key-value pairs, where each value is an array of charge details. These details are for display purpose only. A compliant implementation is not required to process or interpret these details.
Refer sample price_details below.
| Attribute | Type | Description |
|---|---|---|
| name | string | Name of the charge. |
| included | boolean | true if the charge is already included in the price. |
| amount_type | string | Defines the type of amount. Possible values: 1. value represents flat_fee 2. percent represents percentage |
| amount | float | flat fee or percentage value. |
| mandatory | boolean | true if this must be paid either at booking or at hotel. Otherwise, this has to be paid(at hotel) only if you need the supplement/facility. |
| currency | string | Three-letter ISO currency code |
| comments | string | Description or any notes for the charge if available. |
Sample price_details:
{
"price_details": {
"surcharge_or_tax": [
{
"amount": 48.47,
"name": "roomTax",
"included": true,
"currency": "USD",
"amount_type": "value"
},
{
"amount": 4,
"name": "salesTax",
"included": true,
"mandatory": true,
"currency": "USD",
"amount_type": "percent"
}
],
"hotel_charges": [
{
"amount": 129.92,
"mandatory": true,
"name": "Resort",
"included": false,
"comments": "Per Room",
"amount_type": "value",
"currency": "USD"
}
],
"GST": [
{
"name": "Total",
"included": true,
"currency": "INR",
"amount_type": "value",
"amount": 17.63
}
]
}
}
Room
| Attribute | Type | Description |
|---|---|---|
| room_type | string | Room type. E.g. “single room”, “executive room”, “suite” |
| room_reference | string | Unique room reference for the room |
| no_of_rooms | integer | Number of rooms(included) of the same type. |
| no_of_adults | integer | Number of adults in the room |
| no_of_children | integer | Number of children in the room |
| children_ages | array | Ages of the children |
| no_of_infants | integer | Number of infants in the room |
| description | string | Description of the room |
| bed_types | array | Array of bed type Objects. If returned, you can choose and include bed type in the booking request. See Bed Type for details |
| max_room_occupancy | object | An object representing maximum room occupancy. This will be returned when no_of_adults is not available. See Max Room Occupancy for details. |
Max Room Occupancy
| Attribute | Type | Description |
|---|---|---|
| max_pax | integer | Maximum number of total guests allowed in the room |
| max_adults | integer | Maximum number of adults allowed in the room |
| max_children | integer | Maximum number of children allowed in the room |
Bed Type Object
| Attribute | Type | Description |
|---|---|---|
| id | integer | Bed type id |
| type | string | Bed type name/description |
Geolocation
| Attribute | Type | Description |
|---|---|---|
| latitude | float | Latitude of the hotel |
| longitude | float | Longitude of the hotel |
Cancellation Policy
| Attribute | Type | Description |
|---|---|---|
| under_cancellation | boolean | true if the booking is under cancellation, i.e. cancellation charges will apply should a cancellation be made later. |
| cancel_by_date | datetime | Last date for cancellation without charges. Mutually-exclusive with “under_cancellation” being true. The time zone will be the destination time zone. |
| no_show_fee | object | Charges for no show. An Object with the following fields: amount_type: represents the type of value. As mentioned below. currency: Three-letter ISO currency code |
| amount_type | string | Defines the type of value in details: value: represents amount percentage: represents percentage nights: represents charges in number of nights. For nights, in some cases, percentage is also returned. In those cases charges have to be calculated by taking (percentage x nights) value. |
| details | array | List of cancellation windows and applicable charges. Refer policy details below. |
| policy_text | string | Description of applicable cancellation-policies in string format if available. |
Policy Details:
| Attribute | Type | Description |
|---|---|---|
| from | datetime | Date from which the charge in this window applies |
| allowed_cancellation | boolean | false represents the booking cannot be cancelled from the date given |
| nights | integer | Charges in number of nights. |
| percent | float | Charges in percentage |
| flat_fee | float | Amount of money charged |
| currency | string | Three-letter ISO currency code |
Error Codes
| HTTP Status Code | Error Code | Description |
|---|---|---|
| 401 | 1102 | Invalid API key |
| 200 | 1501 | No availability for the requested search criteria |
| 200 | 1502 | No hotels found for the query |
| 200 | 5101 | Field[name] is required. Ex: checkin is required |
| 200 | 5102 | Field[name] value/type is invalid Ex: rooms value/type is invalid |
| 200 | 5103 | Invalid hotel category |
| 200 | 5106 | Children ages should be between 0 and 18 |
| 200 | 5108 | Check-In and check-out dates must be valid, and in ISO8601 format (YYYY-MM-DD) |
| 200 | 5109 | Check-In date cannot be older than today |
| 200 | 5110 | Stay cannot exceed 30 days |
| 200 | 5111 | Check-out date must be greater than check-in date |
Sample Search Response
{
"search_id": "d3kmmkyqvuhyi7pnrkcm5szkvu",
"no_of_rooms": 2,
"no_of_nights": 1,
"no_of_hotels": 2,
"no_of_children": 1,
"no_of_adults": 3,
"hotels": [
{
"recommended": true,
"rates": [
{
"supports_cancellation": true,
"supports_amendment": false,
"rooms": [
{
"room_type": "200432",
"no_of_rooms": 1,
"no_of_children": 1,
"no_of_adults": 2,
"description": "Executive Double or Twin Room - Non Refundable BB",
"children_ages": [
3
],
"bed_types": [
{
"type": "2 twin beds",
"id": 25
},
{
"type": "1 queen bed",
"id": 15
}
]
},
{
"room_type": "200432",
"no_of_rooms": 1,
"no_of_children": 0,
"no_of_adults": 1,
"description": "Executive Double or Twin Room - Non Refundable BB",
"bed_types": [
{
"type": "2 twin beds",
"id": 25
},
{
"type": "1 queen bed",
"id": 15
}
]
}
],
"room_code": "4ddfznbt7quczuc3",
"rate_type": "bookable",
"rate_key": "wknvbnjq4n6sjr2qusmwaags4hn2zxhz6czoztzjr",
"rate_comments": {
"tax_information": "SalesTax and HotelOccupancyTax(if charged) are included in TaxAndServiceFee",
"price_comments": "Extra beds on demand YES (without additional debit notes). Wi-fi YES (without additional debit notes) . Minimum check-in age 21. . The person whose name is on the reservation must be at least 21 years of age to check in.\nThe hotel offers cribs and parking (self/valet) at an addtional fee paid locally at the hotel check in by guest\n"
},
"price_details": {
"surcharge_or_tax": [
{
"name": "TaxAndServiceFee",
"included": true,
"currency": "INR",
"amount_type": "value",
"amount": 1064.42
}
],
"hotel_charges": [
{
"name": "MandatoryTax",
"included": false,
"currency": "INR",
"amount_type": "value",
"amount": 290.03
}
],
"net": [
{
"name": "Net",
"included": true,
"currency": "INR",
"amount_type": "value",
"amount": 18805.01
}
]
},
"price": 18805.01,
"payment_type": [
"AT_HOTEL"
],
"other_inclusions": [
"Free Wireless Internet"
],
"non_refundable": true,
"no_of_rooms": 2,
"includes_wifi": true,
"includes_boarding": true,
"has_promotions": false,
"group_code": "wsdbjylcxn4uf",
"currency": "INR",
"cancellation_policy": {
"under_cancellation": true,
"details": [
{
"percent": 100,
"from": "2016-11-22T07:59:56.491271",
"currency": "INR"
}
],
"amount_type": "percent"
},
"boarding_details": [
"Breakfast Buffet"
]
},
{
"supports_cancellation": true,
"supports_amendment": false,
"rooms": [
{
"room_type": "28076",
"no_of_rooms": 1,
"no_of_children": 1,
"no_of_adults": 2,
"description": "City Room",
"children_ages": [
3
]
}
],
"room_code": "43fevnb45bouroa",
"rate_type": "bookable",
"rate_key": "nhzihyw3fvlaj5xq5ua2dcgfb6oxye4wktlutu3vs",
"price_details": {
"net": [
{
"name": "Net",
"included": true,
"currency": "INR",
"amount_type": "value",
"amount": 8773.25
}
]
},
"price": 8773.25,
"payment_type": [
"AT_WEB"
],
"non_refundable": false,
"no_of_rooms": 1,
"includes_wifi": null,
"includes_boarding": true,
"has_promotions": false,
"group_code": "wcobnyltrv3xhbq",
"currency": "INR",
"cancellation_policy_code": "wcobnyltrv3xhbqi7lhg2f6q4hj2ns5c6g663vl6",
"boarding_details": [
"Bed & Breakfast"
]
},
{
"supports_cancellation": true,
"supports_amendment": false,
"rooms": [
{
"room_type": "28076",
"no_of_rooms": 1,
"no_of_children": 0,
"no_of_adults": 1,
"description": "City Room"
}
],
"room_code": "47eevnb45bouroa",
"rate_type": "bookable",
"rate_key": "cmg5hph74uaq6qghgwbthpxr5cmtuxec5liojekowzhzspwdpa2v4",
"price_details": {
"net": [
{
"name": "Net",
"included": true,
"currency": "INR",
"amount_type": "value",
"amount": 8193.34
}
]
},
"price": 8193.34,
"payment_type": [
"AT_WEB"
],
"non_refundable": false,
"no_of_rooms": 1,
"includes_wifi": null,
"includes_boarding": true,
"has_promotions": false,
"group_code": "wcobnyltrv3xhbq",
"currency": "INR",
"cancellation_policy_code": "wcobnyltrv3xhbqi7lhg2f6q4hj2ns5c6g663vl6",
"boarding_details": [
"Bed & Breakfast"
]
}
],
"name": "Lutecia Smart Design Hotel",
"images": {
"main_image": "hotels/images/51/7b/517bf51a2c54e013cedba6d26687355d0ce11f81.jpg"
},
"hotel_code": "H!0049396",
"geolocation": {
"longitude": -9.138914,
"latitude": 38.746067
},
"facilities": "porter/bellhop; security safe (room); designer toiletries; year built 1969; desk; free toiletries; restaurant(s); check-out time is noon; total number of rooms - 175; bathtub only; dry cleaning/laundry service; 24-hour business center; visa; cable tv service; television in common areas; babysitting or childcare (surcharge); safe-deposit box at front desk; air conditioning (room); satellite/cable tv; flat-screen tv; conference space size (meters) - 110; restaurant; diners club; free wi-fi (public areas); luggage storage; airport transportation (surcharge); meeting rooms 5; blackout drapes/curtains; number of floors - 11; check-in time starts at 2 pm; private bathroom; 24-hour front desk; conference space size (feet) - 1184; breakfast available (surcharge); parking - nearby; air conditioned (public areas); concierge services; bidet; mini bar; room service (limited hours); air conditioning; bar/lounge; mastercard; free cribs/infant beds; laundry service; free wi-fi; connecting/adjoining rooms available; designated smoking areas; led tv; tours/ticket assistance; coffee shop or café; daily housekeeping; espresso maker; free wifi; premium bedding; business centre; babysitting available; direct-dial telephone; free newspapers in lobby; gym; hair dryer; pets not allowed; jcb international; number of buildings/towers - 1; spa services on site; bar(s); minibar; 24-hour fitness facilities; room service; minimum check-in age is 18; american express; concierge; rollaway/extra beds available; number of meeting rooms - 5; multilingual staff; babysitting or childcare; conference facilities; elevator/lift; in-room safe (laptop compatible); laundry facilities; phone",
"description": "This smart design hotel is located in a prime residential area in Lisbon, close to the popular Avenida de Roma. Guests will find Rossio square and the city centre just a short metro ride away, making this establishment an ideal base for those travellers wishing to explore this vibrant city. Spread over 9 themed floors, the tastefully decorated guest rooms boast panoramic views over the city and offer an array of modern conveniences to guarantee a truly memorable stay, such as air conditioning and satellite television. Guests will appreciate the fusion restaurant serving a wide choice of Portuguese dishes as well as Indian specialities. Five meeting rooms are available to meet all business travellers' needs.",
"country": "PT",
"city_code": "C!000555",
"category": 4,
"address": "Av. Frei Miguel Contreiras 52 1749-086 Lisboa"
},
{
"rates": [
{
"supports_cancellation": true,
"supports_amendment": false,
"rooms": [
{
"room_type": "DBL.PI",
"no_of_rooms": 1,
"no_of_children": 1,
"no_of_adults": 2,
"description": "DOUBLE PREMIUM",
"children_ages": [
3
]
}
],
"room_code": "4pgvlzuyy",
"rate_type": "BOOKABLE",
"rate_key": "4phflmrx4avcjfstusngchgu4pjop6hdlqrp55lh4ium4ph6tdrrn6nciw",
"promotions_details": [
"Child discount -90.66",
"Exclusive discount 25.90"
],
"price_details": {
"net": [
{
"name": "Net",
"included": true,
"currency": "INR",
"amount_type": "value",
"amount": 20309.01
}
]
},
"price": 20309.01,
"payment_type": [
"AT_WEB"
],
"non_refundable": false,
"no_of_rooms": 1,
"includes_wifi": false,
"includes_boarding": true,
"has_promotions": true,
"group_code": "xgirbylkwb6xtg",
"currency": "INR",
"cancellation_policy": {
"under_cancellation": false,
"details": [
{
"from": "2016-12-25T00:00:00",
"flat_fee": 20309.01,
"currency": "INR"
}
],
"cancel_by_date": "2016-12-24T00:00:00",
"amount_type": "value"
},
"boarding_details": [
"BED AND BREAKFAST"
],
"allotment": 2
},
{
"supports_cancellation": true,
"supports_amendment": false,
"rooms": [
{
"room_type": "DBL.PI",
"no_of_rooms": 1,
"no_of_children": 0,
"no_of_adults": 1,
"description": "DOUBLE PREMIUM"
}
],
"room_code": "4phf3kr64ercplzuyy",
"rate_type": "BOOKABLE",
"rate_key": "4far7zqeuaoqtl436otsfyhfgjuk6cbhakoooro2mwn7x5k34sumyop7d7t2s6nhq",
"promotions_details": [
"Exclusive discount 23.31"
],
"price_details": {
"net": [
{
"name": "Net",
"included": true,
"currency": "INR",
"amount_type": "value",
"amount": 18619.31
}
]
},
"price": 18619.31,
"payment_type": [
"AT_WEB"
],
"non_refundable": false,
"no_of_rooms": 1,
"includes_wifi": false,
"includes_boarding": true,
"has_promotions": true,
"group_code": "xgirbylkwb6xtg",
"currency": "INR",
"cancellation_policy": {
"under_cancellation": false,
"details": [
{
"from": "2016-12-25T00:00:00",
"flat_fee": 18619.31,
"currency": "INR"
}
],
"cancel_by_date": "2016-12-24T00:00:00",
"amount_type": "value"
},
"boarding_details": [
"BED AND BREAKFAST"
],
"allotment": 2
}
],
"name": "behotelisboa",
"images": {
"main_image": "hotels/images/7f/56/7f560e65d515fc4f5bf3f14b83c33.jpg"
},
"hotel_code": "H!0432594",
"geolocation": {
"longitude": -9.14528,
"latitude": 38.7234
},
"facilities": "free toiletries; check-out time is noon; slippers; visa; soundproofed rooms; parking (limited spaces); safe-deposit box at front desk; no rollaway/extra beds available; plasma tv; luggage storage; private bathroom; 24-hour front desk; year built 2015; breakfast available (surcharge); number of floors - 5; smoke-free property; air conditioning; mastercard; check-in time starts at 2:00 pm; total number of rooms - 39; room service (24 hours); tours/ticket assistance; daily housekeeping; free wifi; no cribs (infant beds) available; hair dryer; pets not allowed; self parking (surcharge); number of buildings/towers - 1; minibar; shower only; minimum check-in age is 18; american express; satellite tv service; in-room safe (laptop compatible)",
"description": "Property Location With a stay at behotelisboa, you'll be centrally located in Lisbon, steps from Santa Justa Elevator and Figueira Square. This 4-star hotel is within close proximity of Armazens do Chiado Mall and Carmo Convent.Rooms Make yourself at home in one of the 39 air-conditioned rooms featuring minibars and plasma televisions. Complimentary wireless Internet access keeps you connected, and satellite programming is available for your entertainment. Private bathrooms with showers feature complimentary toiletries and hair dryers. Conveniences include laptop-compatible safes, and housekeeping is provided daily.Amenities Make use of convenient amenities, which include complimentary wireless Internet access and tour/ticket assistance.Dining Take advantage of the hotel's 24-hour room service.Business, Other Amenities Featured amenities include a 24-hour front desk, luggage storage, and a safe deposit box at the front desk.",
"country": "PT",
"city_code": "C!000555",
"category": 4,
"address": ""
}
],
"checkout": "2016-12-30",
"checkin": "2016-12-29"
}