openapi: 3.1.0 info: title: Sabre Bargain Finder Max Air Shopping Hotel Search API description: Sabre Bargain Finder Max (BFM) API provides low-fare search capabilities for air shopping, returning optimal flight itineraries with pricing across Sabre's global airline content inventory. Supports one-way, round-trip, and multi-city searches with ATPCO, LCC, and NDC content. version: 4.0.0 contact: name: Sabre Developer Support url: https://developer.sabre.com/support license: name: Sabre Developer Agreement url: https://developer.sabre.com/ servers: - url: https://api.sabre.com description: Sabre Production API security: - BearerAuth: [] tags: - name: Hotel Search description: Search and availability operations paths: /v2.0.0/offers/hotels: post: operationId: searchHotelAvailability summary: Search hotel availability and rates description: Searches for available hotels in a destination with real-time rate and availability data from Sabre GDS and SynXis distribution. Supports radius search, amenity filters, chain preferences, and rate type filters. tags: - Hotel Search requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/HotelSearchRequest' responses: '200': description: Hotel availability results content: application/json: schema: $ref: '#/components/schemas/HotelSearchResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v2.0.0/offers/hotels/{hotelCode}/rates: get: operationId: getHotelRates summary: Get room rates for a specific hotel description: Retrieves detailed room types, rate plans, and pricing for a specific hotel property. Returns cancellation policies, deposit requirements, and available room inventory. tags: - Hotel Search parameters: - name: hotelCode in: path required: true schema: type: string description: Sabre hotel property code (GDS property identifier) example: HTL123456 - name: checkIn in: query required: true schema: type: string format: date example: '2026-06-15' - name: checkOut in: query required: true schema: type: string format: date example: '2026-06-18' - name: adults in: query required: false schema: type: integer default: 1 example: 2 - name: currency in: query required: false schema: type: string default: USD responses: '200': description: Hotel room rates and availability content: application/json: schema: $ref: '#/components/schemas/HotelRatesResponse' '404': description: Hotel not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: Address: type: object properties: Street: type: string City: type: string StateProvince: type: string PostalCode: type: string CountryCode: type: string CitySearch: type: object required: - CityCode properties: CityCode: type: string example: NYC RadiusMiles: type: integer default: 5 HotelSearchResponse: type: object properties: Hotels: type: array items: $ref: '#/components/schemas/HotelSummary' TotalResults: type: integer SearchId: type: string description: Session search identifier for subsequent requests Rate: type: object properties: Amount: type: number format: double CurrencyCode: type: string example: USD RoomType: type: object properties: RoomTypeCode: type: string Name: type: string Description: type: string MaxOccupancy: type: integer BedConfiguration: type: string Rates: type: array items: $ref: '#/components/schemas/RatePlan' AirportSearch: type: object required: - AirportCode properties: AirportCode: type: string example: DFW RadiusMiles: type: integer default: 5 HotelSummary: type: object properties: HotelCode: type: string Name: type: string ChainCode: type: string StarRating: type: integer minimum: 1 maximum: 5 Address: $ref: '#/components/schemas/Address' LowestRate: $ref: '#/components/schemas/Rate' Amenities: type: array items: type: string Images: type: array items: type: object properties: Url: type: string Category: type: string HotelSearchRequest: type: object required: - CheckIn - CheckOut - GeoSearch properties: CheckIn: type: string format: date example: '2026-06-15' CheckOut: type: string format: date example: '2026-06-18' GeoSearch: oneOf: - $ref: '#/components/schemas/AirportSearch' - $ref: '#/components/schemas/CitySearch' - $ref: '#/components/schemas/GeoCodeSearch' Guests: type: array items: type: object properties: Adults: type: integer minimum: 1 default: 1 MaxResults: type: integer default: 20 maximum: 100 SortBy: type: string enum: - PRICE_LOWEST - PRICE_HIGHEST - STAR_RATING - DISTANCE GeoCodeSearch: type: object required: - Latitude - Longitude properties: Latitude: type: number format: double example: 32.8998 Longitude: type: number format: double example: -97.0403 RadiusMiles: type: integer default: 5 ErrorResponse: type: object properties: status: type: integer errorCode: type: string message: type: string timeStamp: type: string format: date-time RatePlan: type: object properties: RatePlanCode: type: string RatePlanName: type: string DailyRate: $ref: '#/components/schemas/Rate' TotalRate: $ref: '#/components/schemas/Rate' Refundable: type: boolean CancellationPolicy: type: string MealsIncluded: type: array items: type: string HotelRatesResponse: type: object properties: HotelCode: type: string Name: type: string Rooms: type: array items: $ref: '#/components/schemas/RoomType' securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT description: Bearer token obtained from /v2/auth/token