Sabre Hotel Search API

Search and availability operations

OpenAPI Specification

sabre-hotel-search-api-openapi.yml Raw ↑
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