OpenAPI Specification
openapi: 3.1.0
info:
title: Sabre Bargain Finder Max Air Shopping Hotel Booking 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 Booking
description: Reservation management
paths:
/v2.0.0/hotels/reservations:
post:
operationId: createHotelReservation
summary: Create a hotel reservation
description: Books a hotel room and creates a reservation record in Sabre GDS. Returns a confirmation number and hotel-specific PNR locator.
tags:
- Hotel Booking
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HotelReservationRequest'
responses:
'201':
description: Reservation created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/HotelReservationResponse'
'400':
description: Bad request or invalid room/rate combination
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/v2.0.0/hotels/reservations/{confirmationId}:
get:
operationId: getHotelReservation
summary: Retrieve hotel reservation details
description: Returns full details for an existing hotel reservation.
tags:
- Hotel Booking
parameters:
- name: confirmationId
in: path
required: true
schema:
type: string
description: Hotel reservation confirmation number
responses:
'200':
description: Hotel reservation details
content:
application/json:
schema:
$ref: '#/components/schemas/HotelReservationResponse'
'404':
description: Reservation not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
delete:
operationId: cancelHotelReservation
summary: Cancel a hotel reservation
description: Cancels an existing hotel reservation subject to property cancellation policy.
tags:
- Hotel Booking
parameters:
- name: confirmationId
in: path
required: true
schema:
type: string
responses:
'200':
description: Reservation cancelled
content:
application/json:
schema:
$ref: '#/components/schemas/CancellationResponse'
'404':
description: Reservation not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
schemas:
GuestInfo:
type: object
required:
- FirstName
- LastName
- Email
properties:
Title:
type: string
FirstName:
type: string
LastName:
type: string
Email:
type: string
format: email
Phone:
type: string
LoyaltyProgramNumber:
type: string
Rate:
type: object
properties:
Amount:
type: number
format: double
CurrencyCode:
type: string
example: USD
CancellationResponse:
type: object
properties:
CancellationNumber:
type: string
Status:
type: string
enum:
- CANCELLED
CancellationFee:
$ref: '#/components/schemas/Rate'
HotelReservationRequest:
type: object
required:
- HotelCode
- RoomTypeCode
- RatePlanCode
- CheckIn
- CheckOut
- GuestInfo
properties:
HotelCode:
type: string
RoomTypeCode:
type: string
RatePlanCode:
type: string
CheckIn:
type: string
format: date
CheckOut:
type: string
format: date
GuestInfo:
$ref: '#/components/schemas/GuestInfo'
PaymentInfo:
$ref: '#/components/schemas/PaymentInfo'
SpecialRequests:
type: string
PaymentInfo:
type: object
properties:
CardType:
type: string
enum:
- VI
- MC
- AX
- DS
CardNumber:
type: string
ExpiryDate:
type: string
CardholderName:
type: string
ErrorResponse:
type: object
properties:
status:
type: integer
errorCode:
type: string
message:
type: string
timeStamp:
type: string
format: date-time
HotelReservationResponse:
type: object
properties:
ConfirmationNumber:
type: string
HotelConfirmationNumber:
type: string
Status:
type: string
enum:
- CONFIRMED
- PENDING
- CANCELLED
HotelCode:
type: string
CheckIn:
type: string
format: date
CheckOut:
type: string
format: date
TotalCost:
$ref: '#/components/schemas/Rate'
GuestInfo:
$ref: '#/components/schemas/GuestInfo'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Bearer token obtained from /v2/auth/token