booking-com Property Management API

Endpoints for creating and updating property information including name, location, contact details, policies, and general settings.

OpenAPI Specification

booking-com-property-management-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Booking.com Car Rentals Accommodations Property Management API
  description: The Booking.com Car Rentals API is part of the Demand API and provides endpoints specific to the car rental segment of the connected trip experience. Developers can use it to search for available car rentals, retrieve car details, look up depots and suppliers, and access depot review scores. The API enables affiliate partners to integrate Booking.com's car rental inventory into their own platforms, offering users the ability to find and book vehicles as part of their travel planning workflow.
  version: '3.1'
  contact:
    name: Booking.com Developer Support
    url: https://developers.booking.com/demand/docs
  termsOfService: https://www.booking.com/content/terms.html
servers:
- url: https://demandapi.booking.com/3.1
  description: Production Server
security:
- bearerAuth: []
  affiliateId: []
tags:
- name: Property Management
  description: Endpoints for creating and updating property information including name, location, contact details, policies, and general settings.
paths:
  /properties:
    post:
      operationId: createProperty
      summary: Create a property
      description: Creates a new property on Booking.com with basic details including name, location, and property type. Part of the new modular Property Management APIs replacing the legacy OTA endpoints.
      tags:
      - Property Management
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PropertyCreateRequest'
      responses:
        '200':
          description: Property created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyResponse'
        '400':
          description: Bad request
        '401':
          description: Authentication failed
  /properties/{property_id}:
    put:
      operationId: updateProperty
      summary: Update property details
      description: Updates an existing property's details including name, description, contact information, and settings.
      tags:
      - Property Management
      parameters:
      - $ref: '#/components/parameters/PropertyId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PropertyUpdateRequest'
      responses:
        '200':
          description: Property updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyResponse'
        '400':
          description: Bad request
        '401':
          description: Authentication failed
        '404':
          description: Property not found
    get:
      operationId: getProperty
      summary: Get property details
      description: Retrieves the full details of a specific property including all configured content.
      tags:
      - Property Management
      parameters:
      - $ref: '#/components/parameters/PropertyId'
      responses:
        '200':
          description: Property details retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyResponse'
        '401':
          description: Authentication failed
        '404':
          description: Property not found
components:
  parameters:
    PropertyId:
      name: property_id
      in: path
      required: true
      description: Unique identifier of the property on Booking.com
      schema:
        type: integer
  schemas:
    PropertyCreateRequest:
      type: object
      required:
      - name
      - address
      - city
      - country
      - property_type
      properties:
        name:
          type: string
          description: Property name
        address:
          type: string
          description: Street address
        city:
          type: string
          description: City name
        country:
          type: string
          description: Two-letter country code
        zip:
          type: string
          description: Postal/ZIP code
        property_type:
          type: string
          description: Type of property
        latitude:
          type: number
          description: Latitude coordinate
        longitude:
          type: number
          description: Longitude coordinate
        currency:
          type: string
          description: Default currency for the property
        star_rating:
          type: integer
          description: Star rating classification
          minimum: 1
          maximum: 5
    PropertyUpdateRequest:
      type: object
      properties:
        name:
          type: string
          description: Property name
        address:
          type: string
          description: Street address
        description:
          type: string
          description: Property description
        contact_email:
          type: string
          format: email
          description: Primary contact email
        contact_phone:
          type: string
          description: Primary contact phone number
        checkin_from:
          type: string
          description: Earliest check-in time
        checkin_until:
          type: string
          description: Latest check-in time
        checkout_from:
          type: string
          description: Earliest checkout time
        checkout_until:
          type: string
          description: Latest checkout time
    PropertyResponse:
      type: object
      properties:
        property_id:
          type: integer
          description: Unique property identifier
        name:
          type: string
          description: Property name
        address:
          type: string
          description: Street address
        city:
          type: string
          description: City name
        country:
          type: string
          description: Country code
        status:
          type: string
          description: Property status on Booking.com
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication. Include your API key token in the Authorization header.
    affiliateId:
      type: apiKey
      in: header
      name: X-Affiliate-Id
      description: Your Booking.com Affiliate ID, required with every request.
externalDocs:
  description: Booking.com Car Rentals API Documentation
  url: https://developers.booking.com/demand/docs/open-api/demand-api/cars