Booking
Book method is called to either hold a booking or to book and voucher a booking based on the selected rooms and guest information. We strongly recommend checking the updated prices and cancellation policies for the selected rooms through BlockRoom method before proceeding with the hotel booking to reduce the probability of booking failure.
To book and voucher in one go, the ‘IsVouchered’ node should be set as true.
Price verification is done before creating a booking and Confirmation No. / Booking Reference No. is returned in case of a successful booking.
In case of Price change or Cancellation Policy change, you will get new price and/or new cancellation policy in the Book response with IsPriceChanged node and/or IsCancellationPolicyChanged node set as ‘true’.
The price comparison is to be made at the client’s end, and Book request needs to be sent again with the updated price and/ or updated cancellation policy.
Instead of 'Vouchered' or 'Confirmed' you might get 'Pending' as BookingStatus for some bookings. This is because some of the suppliers do not provide confirmation of the booking immediately. In this case you need to call HotelBookingDetail method after few minutes (5-10) to get the updated status.
Service URL (REST) to be used:
Book Room Request
Level | Element | Format | Comments | Mandatory |
---|---|---|---|---|
1 | ResultIndex | Integer | ResultIndex | Mandatory |
2 | HotelCode | String | Unique hotel code | Mandatory |
3 | HotelName | String | Unique hotel name | Mandatory |
4 | GuestNationality | String | ISO Country Code (Ex. India = IN, Great Britain = GB) | Mandatory |
5 | NoOfRooms | Integer | Requested number of rooms | Mandatory |
6 | ClientReferenceNo | String | Client Reference No (Currently not in use, passs as 0) | Optional |
7 | IsVoucherBooking | Boolean | This represents whether the request is to Hold the booking or to voucher it directly (Set true if you want to voucher the booking. Set false, if you want to hold the booking and voucher it later) |
Mandatory |
8 | HotelRoomsDetails[] | Array | Array of hotel room details | Mandatory |
8.1 | ChildCount | Integer | Child Count | Mandatory |
8.2 | RequireAllPaxDetails | Boolean | Represents ifpassenger detail is required all guests or only for lead guest. If true, then details would be required for all guests | Mandatory |
8.3 | RoomId | Integer | Room Id | Mandatory |
8.4 | RoomStatus | String | Room Status | Mandatory |
8.5 | RoomIndex | Integer | Room Index | Mandatory |
8.6 | RoomTypeCode | SInteger | Room Type Code | Mandatory |
8.7 | RoomTypeName | String | Room Type Name | Mandatory |
8.8 | RatePlan | String | Rate Plan | Mandatory |
8.9 | RatePlanCode | String | Rate Plan Code associated with room | Mandatory |
8.10 | InfoSource | String | Info Source | Mandatory |
8.11 | SequenceNo | String | Sequence No | Optional |
8.12 | DayRates[] | Array | Day Rate | Mandatory |
8.12.1 | Amount | Decimal | Amount | Mandatory |
8.12.2 | Date | DATE TIME | Date | Mandatory |
8.13 | SupplierPrice | Decimal | Supplier Price | Mandatory |
8.14 | Price[] | Array | Price detail of the room | Mandatory |
8.14.1 | CurrencyCode | String | Currency in which minimum hotel price is returned | Mandatory |
8.14.2 | RoomPrice | Decimal | Price of the room | Mandatory |
8.14.3 | Tax | Decimal | Tax applicable for the room | Mandatory |
8.14.4 | ExtraGuestCharge | Decimal | Extra Guest Charges applicable for the room | Mandatory |
8.14.5 | ChildCharge | Decimal | Child Charges applicable for the room | Mandatory |
8.14.6 | OtherCharges | Decimal | Other Charges applicable for the room | Mandatory |
8.14.7 | Discount | Decimal | Discount applicable for the room | Mandatory |
8.14.8 | PublishedPrice | Decimal | Published Price of the room (This price would be different only if Room Price is on PUBLISHED. In case of NET, Published Price would be same as Offered Price) | Mandatory |
8.14.9 | PublishedPriceRoundedOff | Integer | Published Price (rounded off) of the room (This price is for display purpose only) | Mandatory |
8.14.10 | OfferedPrice | Decimal | Offered Price of the room | Mandatory |
8.14.11 | OfferedPriceRoundedOff | Integer | Offered Price (rounded off) of the room | Mandatory |
8.14.12 | AgentCommission | Decimal | Commission applicable on the Room Price (srdv will part this amount if Room Price is on Published) |
Mandatory |
8.14.13 | AgentMarkUp | Decimal | Agent Mark Up applicable on the Room Price (Agent will earn this amount if Hotel mark up is set from backend) |
Mandatory |
8.14.14 | ServiceTax | Decimal | Service tax applicable for the room | Mandatory |
8.14.15 | TDS | Decimal | TDS applicable on Commission Earned (This would be deducted only when commission is parted to the agent) | Mandatory |
8.14.16 | ServiceCharge | Decimal | Service Charge | Mandatory |
8.14.17 | TotalGSTAmount | Decimal | Total GST Amount | Mandatory |
8.14.18 | GST[] | Array | Array of GST | Mandatory |
8.14.18.1 | CGSTAmount | Decimal | CGST Amount | Mandatory |
8.14.18.2 | CGSTRate | Decimal | CGST Rate | Mandatory |
8.14.18.3 | CessAmount | Decimal | Cess Amount | Mandatory |
8.14.18.4 | CessRate | Decimal | Cess Rate | Mandatory |
8.14.18.5 | IGSTAmount | Decimal | IGST Amount | Mandatory |
8.14.18.6 | IGSTRate | Decimal | IGST Rate | Mandatory |
8.14.18.7 | SGSTAmount | Decimal | SGST Amount | Mandatory |
8.14.18.8 | SGSTRate | Decimal | SGST Rate | Mandatory |
8.14.18.9 | TaxableAmount | Decimal | TaxableAmount | Mandatory |
8.15 | HotelPassenger[] | Array | Hotel Passenger | Mandatory |
8.15.1 | Title | String | Title (Possible values can be Mr, Mrs, Miss, Ms) | Mandatory |
8.15.2 | FirstName | String | FirstName (Min 2 chars, Max 50 chars and no special character) | Mandatory |
8.15.3 | MiddleName | String | MiddleName | Optional |
8.15.4 | LastName | String | LastName (Min 2 chars, Max 50 chars and no special character) | Mandatory |
8.15.5 | Phoneno | String | Phoneno | Mandatory |
8.15.6 | String | Mandatory | ||
8.15.7 | PaxType | Enumeration | PaxType (HotelPassenger - PaxType Adult= 1, Child = 2 | Mandatory |
8.15.8 | LeadPassenger | Boolean | LeadPassenger (Set true if the guest is a lead passenger. Set false, if the guest is not a lead passenger) | Mandatory |
8.15.9 | Age | Integer | Age of the guest *(only for child and age should be <= 18 years) | Mandatory |
8.15.10 | PassportNo | String | PassportNo | Optional |
8.15.11 | PassportIssueDate | Date | PassportIssueDate (provide in minimum date time format “0001-0101T00:00:00:00”) | Optional |
8.15.12 | PassportExpDate | Date | PassportExpDate (provide in minimum date time format “0001-0101T00:00:00:00”) | Optional |
8.15.13 | PAN | String | PAN PAN should be in correct format) | Optional |
8.16 | RoomPromotion | String | Room Promotion | Mandatory |
8.17 | Amenities[] | Array | List of room amenities | Mandatory |
8.18 | SmokingPreference | Enumeration | Smoking Preference | Mandatory |
8.19 | BedTypes[] | Array | Array of bed types | Mandatory |
8.20 | HotelSupplements[] | Array | Hotel Supplements | Mandatory |
8.21 | LastCancellationDate | Date | Last Cancellation Date (Nocancellation charge will be applied up to this date. If the date is less than book date then cancellation charge will be applicable as per policy) | Mandatory |
8.22 | CancellationPolicies[] | Array | Array of cancellation policies | Mandatory |
8.23.1 | Charge | Decimal | Cancellation charge (Contains amount in case of Amount, Percentage value in case of Percentage, No of nights in case of Night) | Mandatory |
8.24.2 | ChargeType | Enumeration | Cancellation charge type- CancellationPolicies - ChargeType Amount = 1, Percentage = 2, Nights = 3 | Mandatory |
8.25.3 | Currency | String | Currency | Mandatory |
8.26.4 | FromDate | Date | Date from which charges will apply Format:(dd/mm/yyyy) | Mandatory |
8.27.5 | ToDate | Date | Date up to which charges will apply Format:(dd/mm/yyyy) | Mandatory |
8.28 | CancellationPolicy | String | Cancellation policy in text format (Format: Text) | Mandatory |
8.29 | Inclusion[] | Array | Inclusion | Mandatory |
8.30 | BedTypeCode | Integer | Bed Type Code | Mandatory |
8.31 | Supplements[] | Array | Supplements | Mandatory |
9 | ArrivalTime | DateTime | Format | Mandatory |
10 | IsPackageFare | Boolean | IsPackageFare can either be true, or false | Mandatory |
11 | SrdvType | String | Simple result data version Type | Mandatory |
12 | SrdvIndex | String | Simple result data | Mandatory |
13 | TraceId | String | Trace ID | Mandatory |
14 | EndUserIp | String | IP Address of the end user | Mandatory |
15 | ClientId | String | Client ID provided to the agency at registration | Mandatory |
16 | UserName | String | Client ID provided to the agency at registration | Mandatory |
17 | Password | String | Client ID provided to the agency at registration | Mandatory |
Level | Element | Format | Comments | Mandatory |
---|---|---|---|---|
1 | Error[] | Array | Error | Mandatory |
1.1 | ErrorCode | String | Error Code | Mandatory |
1.2 | ErrorMessage | String | Error Message | Mandatory |
2 | VoucherStatus | String | Voucher Status (true - Booking is vouchered false - Booking is not Vouchered ) |
Mandatory |
3 | ResponseStatus | Enumeration | Response Status (NotSet = 0, Successfull = 1, Failed = 2, InValidRequest = 3, InValidSession = 4, InValidCredenti als = 5) |
Mandatory |
4 | TraceId | String | Trace ID | Mandatory |
5 | Status | Enumeration | Status Possible values can be 0 – BookFailed, 1 - Confirmed, 3 – VerifyPrice, 6 – Cancelled |
Mandatory |
6 | HotelBookingStatus | Enumeration | Hotel Booking Status Possible values can be – BookFailed, Confirmed, VerifyPrice, Cancelled |
Mandatory |
7 | InvoiceNumber | String | Invoice Number | Mandatory |
8 | ConfirmationNo | String | Unique confirmation number of the successful booking | Mandatory |
9 | BookingRefNo | String | Booking Reference Number | Mandatory |
10 | BookingId | Integer | Unique booking id of the successful booking | Mandatory |
11 | IsPriceChanged | Boolean | Represent if price is changed or not (Would be set true, if there is a price change. Would be set as false, if there is no price change) |
Mandatory |
12 | IsCancellationPolicyChanged | Boolean | Represent if cancellation policy is changed or not (Would be set true, if there is a change in cancellation policy. Would be set as false, if there is no change in cancellation policy.) |
Mandatory |