booking-com · Schema

Booking.com Accommodation

Represents an accommodation property listed on Booking.com, including hotels, apartments, hostels, and other lodging types with their details, facilities, and location information.

Properties

Name Type Description
accommodation_id integer Unique numeric identifier for the accommodation on Booking.com
name string Display name of the accommodation property
description string Detailed text description of the accommodation and its offerings
address string Street address of the accommodation
city string City where the accommodation is located
city_id integer Booking.com city identifier used for search queries
country string Two-letter ISO 3166-1 alpha-2 country code
zip string Postal or ZIP code
location object
accommodation_type integer Numeric identifier for the type of accommodation (hotel, apartment, hostel, etc.)
accommodation_type_name string Human-readable name for the accommodation type
star_rating number Official star rating classification of the property
review_score number Average guest review score on a scale of 1 to 10
total_reviews integer Total number of guest reviews for this accommodation
chain_id integer Identifier for the hotel chain or brand, if applicable
chain_name string Name of the hotel chain or brand, if applicable
currency string Default currency code for the property (ISO 4217)
checkin_from string Earliest check-in time in HH:MM format
checkin_until string Latest check-in time in HH:MM format
checkout_from string Earliest checkout time in HH:MM format
checkout_until string Latest checkout time in HH:MM format
facilities array List of facilities and amenities available at the property
photos array Photos of the accommodation property
rooms array Room types available at the accommodation
themes array Thematic categories the accommodation belongs to
View JSON Schema on GitHub

JSON Schema

booking-com-accommodation-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://booking.com/schemas/booking-com/accommodation.json",
  "title": "Booking.com Accommodation",
  "description": "Represents an accommodation property listed on Booking.com, including hotels, apartments, hostels, and other lodging types with their details, facilities, and location information.",
  "type": "object",
  "required": ["accommodation_id", "name", "country"],
  "properties": {
    "accommodation_id": {
      "type": "integer",
      "description": "Unique numeric identifier for the accommodation on Booking.com"
    },
    "name": {
      "type": "string",
      "description": "Display name of the accommodation property",
      "minLength": 1,
      "maxLength": 500
    },
    "description": {
      "type": "string",
      "description": "Detailed text description of the accommodation and its offerings"
    },
    "address": {
      "type": "string",
      "description": "Street address of the accommodation"
    },
    "city": {
      "type": "string",
      "description": "City where the accommodation is located"
    },
    "city_id": {
      "type": "integer",
      "description": "Booking.com city identifier used for search queries"
    },
    "country": {
      "type": "string",
      "description": "Two-letter ISO 3166-1 alpha-2 country code",
      "pattern": "^[A-Za-z]{2}$"
    },
    "zip": {
      "type": "string",
      "description": "Postal or ZIP code"
    },
    "location": {
      "$ref": "#/$defs/GeoLocation"
    },
    "accommodation_type": {
      "type": "integer",
      "description": "Numeric identifier for the type of accommodation (hotel, apartment, hostel, etc.)"
    },
    "accommodation_type_name": {
      "type": "string",
      "description": "Human-readable name for the accommodation type"
    },
    "star_rating": {
      "type": "number",
      "description": "Official star rating classification of the property",
      "minimum": 0,
      "maximum": 5
    },
    "review_score": {
      "type": "number",
      "description": "Average guest review score on a scale of 1 to 10",
      "minimum": 1,
      "maximum": 10
    },
    "total_reviews": {
      "type": "integer",
      "description": "Total number of guest reviews for this accommodation",
      "minimum": 0
    },
    "chain_id": {
      "type": "integer",
      "description": "Identifier for the hotel chain or brand, if applicable"
    },
    "chain_name": {
      "type": "string",
      "description": "Name of the hotel chain or brand, if applicable"
    },
    "currency": {
      "type": "string",
      "description": "Default currency code for the property (ISO 4217)",
      "pattern": "^[A-Z]{3}$"
    },
    "checkin_from": {
      "type": "string",
      "description": "Earliest check-in time in HH:MM format",
      "pattern": "^\\d{2}:\\d{2}$"
    },
    "checkin_until": {
      "type": "string",
      "description": "Latest check-in time in HH:MM format",
      "pattern": "^\\d{2}:\\d{2}$"
    },
    "checkout_from": {
      "type": "string",
      "description": "Earliest checkout time in HH:MM format",
      "pattern": "^\\d{2}:\\d{2}$"
    },
    "checkout_until": {
      "type": "string",
      "description": "Latest checkout time in HH:MM format",
      "pattern": "^\\d{2}:\\d{2}$"
    },
    "facilities": {
      "type": "array",
      "description": "List of facilities and amenities available at the property",
      "items": {
        "$ref": "#/$defs/Facility"
      }
    },
    "photos": {
      "type": "array",
      "description": "Photos of the accommodation property",
      "items": {
        "$ref": "#/$defs/Photo"
      }
    },
    "rooms": {
      "type": "array",
      "description": "Room types available at the accommodation",
      "items": {
        "$ref": "#/$defs/Room"
      }
    },
    "themes": {
      "type": "array",
      "description": "Thematic categories the accommodation belongs to",
      "items": {
        "type": "string"
      }
    }
  },
  "$defs": {
    "GeoLocation": {
      "type": "object",
      "description": "Geographic coordinates of a location",
      "required": ["latitude", "longitude"],
      "properties": {
        "latitude": {
          "type": "number",
          "description": "Latitude coordinate in decimal degrees",
          "minimum": -90,
          "maximum": 90
        },
        "longitude": {
          "type": "number",
          "description": "Longitude coordinate in decimal degrees",
          "minimum": -180,
          "maximum": 180
        }
      }
    },
    "Facility": {
      "type": "object",
      "description": "A facility or amenity available at the property or room level",
      "required": ["facility_id", "name"],
      "properties": {
        "facility_id": {
          "type": "integer",
          "description": "Unique facility identifier"
        },
        "name": {
          "type": "string",
          "description": "Human-readable facility name"
        },
        "facility_type": {
          "type": "string",
          "description": "Category of the facility"
        }
      }
    },
    "Photo": {
      "type": "object",
      "description": "A photo of the accommodation or its rooms",
      "required": ["url"],
      "properties": {
        "photo_id": {
          "type": "string",
          "description": "Unique photo identifier"
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "URL where the photo can be accessed"
        },
        "tag": {
          "type": "string",
          "description": "Category tag for the photo (e.g., room, exterior, lobby)"
        },
        "sort_order": {
          "type": "integer",
          "description": "Display sort order for the photo"
        }
      }
    },
    "Room": {
      "type": "object",
      "description": "A room type available at the accommodation",
      "required": ["room_id", "name"],
      "properties": {
        "room_id": {
          "type": "integer",
          "description": "Unique room type identifier"
        },
        "name": {
          "type": "string",
          "description": "Room type name"
        },
        "max_occupancy": {
          "type": "integer",
          "description": "Maximum number of guests the room can accommodate",
          "minimum": 1
        },
        "room_size": {
          "type": "number",
          "description": "Room size in square meters"
        },
        "bed_configurations": {
          "type": "array",
          "description": "Available bed configurations for this room type",
          "items": {
            "$ref": "#/$defs/BedConfiguration"
          }
        },
        "facilities": {
          "type": "array",
          "description": "Room-level facilities and amenities",
          "items": {
            "$ref": "#/$defs/Facility"
          }
        }
      }
    },
    "BedConfiguration": {
      "type": "object",
      "description": "A bed configuration option for a room",
      "properties": {
        "bed_type": {
          "type": "string",
          "description": "Type of bed (e.g., double, twin, king, queen)"
        },
        "bed_type_id": {
          "type": "integer",
          "description": "Numeric bed type identifier"
        },
        "quantity": {
          "type": "integer",
          "description": "Number of beds of this type",
          "minimum": 1
        }
      }
    }
  }
}