openapi: 3.0.3 info: title: Starwood Hotel Search Availability API description: The Starwood Hotel Search API provided partners and developers with programmatic access to search Starwood Hotels & Resorts Worldwide's portfolio of over 1,300 hotel properties across approximately 100 countries. This API supported searching by geographic location (country, province, city) and travel dates, returning property details including name, address, category, best available rate, and Starwood Preferred Guest (SPG) points redemption options. Starwood was acquired by Marriott International in September 2016 and the SPG loyalty program was subsequently merged into Marriott Bonvoy in 2019. version: 1.0.0 contact: name: Starwood Developer Support url: https://www.starwoodhotels.com termsOfService: https://www.starwoodhotels.com/corporate/terms.html license: name: Proprietary url: https://www.starwoodhotels.com/corporate/terms.html servers: - url: https://www.starwoodhotels.com/api description: Starwood Hotels API tags: - name: Availability description: Rate and availability operations paths: /v1/hotels/{hotelId}/availability: get: operationId: getHotelAvailability summary: Get Hotel Availability description: Check room availability and current rates for a specific Starwood hotel property for given travel dates. Returns available room categories, rates, and SPG points options including cash-and-points combinations. tags: - Availability parameters: - name: hotelId in: path description: Unique Starwood hotel identifier required: true schema: type: string example: '1234' - name: arrivalDate in: query description: Check-in date in YYYY-MM-DD format required: true schema: type: string format: date - name: departureDate in: query description: Check-out date in YYYY-MM-DD format required: true schema: type: string format: date - name: adults in: query description: Number of adult guests required: false schema: type: integer minimum: 1 maximum: 9 default: 1 responses: '200': description: Hotel availability and rates content: application/json: schema: $ref: '#/components/schemas/HotelAvailabilityResponse' '404': description: Hotel not found content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: No availability for requested dates content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: HotelAvailabilityResponse: type: object description: Hotel availability and rate information properties: hotelId: type: string description: Unique Starwood hotel identifier example: '1234' arrivalDate: type: string format: date description: Check-in date departureDate: type: string format: date description: Check-out date nights: type: integer description: Number of nights example: 3 rooms: type: array description: Available room types and rates items: $ref: '#/components/schemas/RoomRate' Error: type: object description: Error response properties: code: type: string description: Error code example: INVALID_REQUEST message: type: string description: Human-readable error message example: Invalid arrival date format. Expected YYYY-MM-DD. details: type: array description: Additional error detail objects items: type: object properties: field: type: string description: Field name that caused the error message: type: string description: Field-specific error message RoomRate: type: object description: A room type with its available rates properties: roomTypeCode: type: string description: Room type code example: KING roomTypeName: type: string description: Room type name example: Deluxe King Room rateCode: type: string description: Rate plan code example: BAR rateName: type: string description: Rate plan name example: Best Available Rate pricePerNight: type: number format: double description: Rate per night in quoted currency example: 289.0 totalPrice: type: number format: double description: Total price for the stay example: 867.0 currency: type: string description: Currency code example: USD pointsPerNight: type: integer description: SPG Starpoints required for award night example: 12000 availability: type: string description: Availability status enum: - AVAILABLE - LIMITED - UNAVAILABLE example: AVAILABLE