Skip to main content

searchSupplierHotels API

Overview

Serves a static third-party hotel supplier response structure (simulating TravelBullz / TBO Hotel Aggregator APIs) for listing available hotels, room types, prices, rateKeys, and cancellation policies.

  • Controller: searchSupplierHotels
  • Endpoint: /api/supplier/hotels/search
  • Method: POST

Request Parameters (req.body)

ParameterTypeRequiredDescription
cityStringNoTarget city (e.g. "Goa")
checkInStringNoCheck-in date (YYYY-MM-DD)
checkOutStringNoCheck-out date (YYYY-MM-DD)
roomsNumberNoRooms count
guestsNumberNoGuest count

Response Body Example (200 OK)

{
"success": true,
"data": {
"status": "SUCCESS",
"searchTraceId": "SUP-HTL-TRACE-88992211",
"supplier": {
"code": "TBO_HOTELS_MOCK",
"name": "TravelBullz / TBO Hotel Aggregator",
"currency": "INR",
"responseTimeMs": 42
},
"searchParameters": {
"city": "Goa",
"checkIn": "2026-10-01",
"checkOut": "2026-10-05",
"nights": 4,
"rooms": 1,
"guests": 2
},
"hotels": [
{
"hotelCode": "HTL-GOA-001",
"name": "Grand Palace Resort & Spa",
"starRating": "FIVE_STAR",
"address": "123 Beach Road, Calangute, North Goa",
"cityName": "Goa",
"country": "India",
"latitude": 15.5432,
"longitude": 73.7554,
"checkInTime": "14:00",
"checkOutTime": "11:00",
"heroImage": "https://images.unsplash.com/photo-1566073771259-6a8506099945",
"amenities": ["Swimming Pool", "Spa & Wellness", "Free WiFi", "Beachfront"],
"minRate": 18000,
"maxRate": 32000,
"currency": "INR",
"rooms": [
{
"roomTypeCode": "DLX-OCN",
"roomName": "Deluxe Ocean View Room",
"maxOccupancy": 3,
"mealPlan": "BREAKFAST_INCLUDED",
"inventoryAvailable": 5,
"pricing": {
"basePricePerNight": 4500,
"totalBasePrice": 18000,
"totalTax": 2160,
"totalNetPrice": 20160,
"currency": "INR"
},
"rateKey": "RK_HTL_GOA001_DLX_20261001_4N",
"cancellationPolicy": {
"isRefundable": true,
"freeCancellationBefore": "2026-09-29T23:59:59Z",
"penaltyAmount": 0,
"description": "Free cancellation until 48 hours before check-in."
}
}
]
}
]
},
"message": "Static third-party hotel supplier response fetched successfully"
}