# Retrieve property-level facilities

Retrieve facility instance IDs along with the facility details for all the facility instances added to the property.

Endpoint: GET /facilities-api/properties/{propertyId}
Version: 1.0

## Path parameters:

  - `propertyId` (integer, required)

## Query parameters:

  - `debugInfo` (string)
    When set to `true`, attaches facility metadata (facility names, OTA codes, allowed detail types) to each item in the response. Significantly increases payload size. Do not use in production environments.

## Response 200 fields (application/json):

  - `data` (array)

  - `data.facility_id` (integer)
    Property Facility ID

  - `data.instances` (array)
    Array of instances

  - `data.instances.instance_id` (integer)
    Instance ID

  - `data.instances.parking_details` (object)
    Applicable to: PARKING (2). Always appears together with payment_details.

  - `data.instances.parking_details.name` (string)
    Name

  - `data.instances.parking_details.parking_type` (string)
    Type of parking. Corresponding legacy object in HDCN: ParkingFeePolicy/@ParkingType
    Enum: "UNKNOWN_PARKING_TYPE", "PARKING_GARAGE", "PARKING_LOT", "STREET_PARKING"

  - `data.instances.parking_details.parking_location` (string)
    Where is this parking located?
    Enum: "ON_SITE", "NEARBY"

  - `data.instances.parking_details.parking_access` (string)
    Who can park here? Corresponding legacy object in HDCN: ParkingFeePolicy/@ParkingProperty
    Enum: "ONLY_GUESTS", "GENERAL_PUBLIC"

  - `data.instances.parking_details.parking_reservation` (string)
    Is reservation possible/required?
    Enum: "NEEDED", "NOT_NEEDED", "NOT_POSSIBLE"

  - `data.instances.parking_details.max_height_m` (number)
    Height limit for cars. Corresponding legacy object in HDCN: ParkingFeePolicy/@ParkingReservation

  - `data.instances.parking_details.has_valet_service` (string)
    Valet service available
    Enum: "NOT_SPECIFIED", "PRESENT", "MISSING"

  - `data.instances.parking_details.has_onsite_staff` (string)
    Staff at the parking area
    Enum: "NOT_SPECIFIED", "PRESENT", "MISSING"

  - `data.instances.parking_details.has_gated_parking` (string)
    Gate at the entrance / exit
    Enum: "NOT_SPECIFIED", "PRESENT", "MISSING"

  - `data.instances.parking_details.has_security_cameras` (string)
    Security camera
    Enum: "NOT_SPECIFIED", "PRESENT", "MISSING"

  - `data.instances.parking_details.has_ev_charging_station` (string)
    Electric vehicle charging station
    Enum: "NOT_SPECIFIED", "PRESENT", "MISSING"

  - `data.instances.parking_details.has_accessible_parking_spots` (string)
    Accessible parking
    Enum: "NOT_SPECIFIED", "PRESENT", "MISSING"

  - `data.instances.payment_details` (object)
    Payment details for the parking facility.

  - `data.instances.payment_details.charge_mode` (string)
    Charge mode
    Enum: "UNKNOWN_CHARGE_MODE", "FREE", "PAID", "CHARGES_MAY_APPLY"

  - `data.instances.payment_details.charge_details` (object)
    Charge details

  - `data.instances.payment_details.charge_details.price` (number)
    Price, in property's currency

  - `data.instances.payment_details.charge_details.frequency` (string)
    Charging frequency
    Enum: "UNKNOWN_FREQUENCY", "PER_STAY", "PER_MINUTE", "PER_HALF_HOUR", "PER_HOUR", "PER_DAY", "PER_WEEK"

  - `data.instances.restaurant_details` (object)
    Applicable to: RESTAURANT (3).

  - `data.instances.restaurant_details.name` (string)
    Name

  - `data.instances.restaurant_details.guests_only` (boolean)
    Open only to guests staying at the property

  - `data.instances.restaurant_details.accept_reservations` (boolean)
    Reservations welcomed

  - `data.instances.restaurant_details.outdoor_seating` (boolean)
    Outdoor seating

  - `data.instances.restaurant_details.meal_types_list` (array)
    Dietary options. Corresponding legacy object in HDCN: Restaurant/TPA_Extensions/@DietaryOption

  - `data.instances.restaurant_details.ambiances_list` (array)
    Ambiance types. Corresponding legacy object in HDCN: Restaurant/TPA_Extensions/@Ambiance

  - `data.instances.restaurant_details.open_for_meals_list` (array)
    Open for which meals? Corresponding legacy object in HDCN: Restaurant/ @OfferBreakfast,  @OfferBrunch, @OfferLunch, @OfferDinner

  - `data.instances.restaurant_details.cuisines_list` (array)
    Cuisine. Corresponding legacy object in HDCN: Restaurant/CuisineCodes

  - `data.instances.restaurant_details.is_buffet` (boolean)
    Buffet menu

  - `data.instances.restaurant_details.is_alacarte` (boolean)
    A la carte menu

  - `data.instances.schedule_details` (object)
    Opening hours for the restaurant.

  - `data.instances.schedule_details.schedule` (array)

  - `data.instances.schedule_details.schedule.from` (object)
    Definition of a time in the day

  - `data.instances.schedule_details.schedule.from.hours` (integer)
    Hours, in 24h format

  - `data.instances.schedule_details.schedule.from.minutes` (integer)
    Minutes

  - `data.instances.schedule_details.schedule.day_of_week` (string)
    Day of the week. Corresponding legacy object in HDCN: OperationTimes/OperationTime/
    Enum: "UNKNOWN_DAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"

  - `data.instances.temporarily_closed_details` (object)
    Temporary closure dates for the restaurant.

  - `data.instances.temporarily_closed_details.closed` (array)

  - `data.instances.temporarily_closed_details.closed.start_date` (object)
    Start date

  - `data.instances.temporarily_closed_details.closed.start_date.epoch_seconds` (integer)
    Unix timestamp in seconds since epoch

  - `data.instances.temporarily_closed_details.closed.end_date` (object)
    End date

  - `data.instances.temporarily_closed_details.closed.end_date.epoch_seconds` (integer)
    Unix timestamp in seconds since epoch

  - `data.instances.internet_details` (object)
    Applicable to: INTERNET_SERVICES (47). Always appears together with payment_details.

  - `data.instances.internet_details.area` (string)
    Connection location
    Enum: "UNKNOWN_COVERAGE", "ALL_ROOMS", "SOME_ROOMS", "PUBLIC_AREAS", "BUSINESS_CENTER", "ENTIRE_PROPERTY"

  - `data.instances.internet_details.type` (string)
    Connection type
    Enum: "NONE", "WIRED", "WIFI"

  - `data.instances.internet_details.wifi_info` (object)
    Provides information about Wi-Fi connection

  - `data.instances.internet_details.wifi_info.network_name` (string)
    Wi-fi network name (SSID)

  - `data.instances.internet_details.wifi_info.speed_download` (number)
    Download speed, mbps

  - `data.instances.internet_details.wifi_info.speed_upload` (number)
    Upload speed, mbps

  - `data.instances.payment_details` (object)
    Payment details for the internet service.

  - `data.instances.swimming_pool_details` (object)
    Applicable to: SWIMMING_POOL (433).

  - `data.instances.swimming_pool_details.name` (string)

  - `data.instances.swimming_pool_details.swimming_pool_type` (string)
    Swimming Pool Type
    Enum: "UNKNOWN_POOL_TYPE", "INDOOR", "OUTDOOR", "INDOOR_AND_OUTDOOR"

  - `data.instances.swimming_pool_details.availability_type` (string)
    Availability
    Enum: "UNKNOWN_AVAILABILITY", "ALL_SEASON", "SEASONABLE"

  - `data.instances.swimming_pool_details.allowed_age_type` (string)
    Age restrictions
    Enum: "UNKNOWN_AGE_TYPE", "ADULTS_ONLY", "KIDS_ONLY", "ALL_AGES"

  - `data.instances.swimming_pool_details.has_loungers` (boolean)
    Loungers available

  - `data.instances.swimming_pool_details.has_water_slide` (boolean)
    Water slide

  - `data.instances.swimming_pool_details.has_pool_bar` (boolean)
    Pool bar

  - `data.instances.swimming_pool_details.has_pool_cover` (boolean)
    Pool cover

  - `data.instances.swimming_pool_details.has_free_towels` (boolean)
    Free towels

  - `data.instances.swimming_pool_details.has_pool_toys` (boolean)
    Pool toys

  - `data.instances.swimming_pool_details.has_sun_umbrellas` (boolean)
    Sun umbrellas

  - `data.instances.swimming_pool_details.has_fence_around_pool` (boolean)
    Safety fence

  - `data.instances.swimming_pool_details.has_snake_trap` (boolean)
    Has a snake trap

  - `data.instances.swimming_pool_details.is_shared` (boolean)
    Is the swimming pool shared?

  - `data.instances.swimming_pool_details.is_rooftop` (boolean)
    Is a rooftop pool?

  - `data.instances.swimming_pool_details.is_shallow_end` (boolean)
    Is there a shallow end?

  - `data.instances.swimming_pool_details.is_infinity` (boolean)
    Is an infinity pool?

  - `data.instances.swimming_pool_details.is_heated` (boolean)
    Is a heated pool?

  - `data.instances.swimming_pool_details.is_salt_water` (boolean)
    Is a salt water pool?

  - `data.instances.swimming_pool_details.is_pool_with_view` (boolean)
    Scenic view

  - `data.instances.swimming_pool_details.is_plunge_pool` (boolean)
    Is a plunge pool?

  - `data.instances.surcharge_details` (object)
    Whether the pool is free or paid.

  - `data.instances.surcharge_details.surcharge_type` (string)
    Surcharge type (free/paid)
    Enum: "DEFAULT", "FREE", "PAID"

  - `data.instances.schedule_details` (object)
    Opening hours for the pool.

  - `data.instances.temporarily_closed_details` (object)
    Temporary closure dates for the pool.

  - `data.instances.kids_pool_details` (object)
    Applicable to: KIDS_POOL (258).

  - `data.instances.kids_pool_details.swimming_pool_dimensions` (object)

  - `data.instances.kids_pool_details.swimming_pool_dimensions.length` (number)
    Pool length

  - `data.instances.kids_pool_details.swimming_pool_dimensions.width` (number)
    Pool width

  - `data.instances.kids_pool_details.swimming_pool_dimensions.depth_min` (number)
    Pool minimal depth

  - `data.instances.kids_pool_details.swimming_pool_dimensions.depth_max` (number)
    Pool maximal depth

  - `data.instances.kids_pool_details.swimming_pool_dimensions.unit` (string)
    Measurement unit
    Enum: "METER"

  - `data.instances.kids_pool_details.has_shallow_end` (boolean)
    Is there a shallow end?

  - `data.instances.meal_details` (object)
    Applicable to: BREAKFAST (9111), LUNCH_AVAILABLE (9114), DINNER_AVAILABLE (9115).

  - `data.instances.meal_details.breakfast_types` (array)

  - `data.instances.meal_details.breakfast_food_item_types` (array)

  - `data.instances.meal_details.price` (number)

  - `data.instances.schedule_details` (object)
    Opening hours for the meal service.

  - `data.instances.surcharge_details` (object)
    Applicable to facilities where a surcharge or free-of-charge distinction is relevant. Applies to a large number of facilities including MEETINGBANQUET_FACILITIES (6), TENNISCOURT (9), SAUNA (10), FITNESS_ROOM (11), BUSINESS_CENTER (20), LAUNDRY (22), SPA_AND_WELLNESS_CENTRE (54), SWIMMING_POOL (433), and many others. See GET /facilities-api/meta for the full list.

  - `data.instances.on_site_details` (object)
    Applicable to facilities where on-site vs off-site location is relevant, including: TENNISCOURT (9), FISHING (19), SKIING (26), WINDSURFING (61), CANOEING (69), HIKING (70), CYCLING (76), BOWLING (77), DIVING (82), HORSERIDING (86), SQUASH (87), SNORKELING (90), AQUA_PARK (148), and various activity facilities (400–414). See GET /facilities-api/meta for the full list.

  - `data.instances.on_site_details.onsite_type` (string)
    Facility location
    Enum: "DEFAULT", "ONSITE", "OFFSITE"

  - `data.instances.age_limit_details` (object)
    Applicable to: KID_MEALS (176), CHILD_FRIENDLY_BUFFET (177).

  - `data.instances.age_limit_details.age_limit` (string)
    Minimum age allowed
    Enum: "AGE_1", "AGE_2", "AGE_3", "AGE_4", "AGE_5", "AGE_6", "AGE_7", "AGE_8", "AGE_9", "AGE_10", "AGE_11", "AGE_12", "NO_RESTRICTION"

  - `data.instances.schedule_details` (object)
    Applicable to facilities with opening hours or schedules, including: SAUNA (10), FITNESS_ROOM (11), LAUNDRY (22), SOLARIUM (50), CHILDREN_PLAY_GROUND (56), HOT_TUB (63), TURKISHSTEAM_BATH (79), LUGGAGE_STORAGE (91), HOT_SPRING_BATH (138), KIDS_CLUB (144), COFFEE_SHOP_ONSITE (219), STEAM_ROOM (241). See GET /facilities-api/meta for the full list.

  - `data.instances.temporarily_closed_details` (object)
    Applicable to: BAR (7), SAUNA (10), SPA_AND_WELLNESS_CENTRE (54), HOT_TUB (63), FITNESS (253).

  - `data.state` (string)
    Is facility Present/Missing?
    Enum: "MISSING", "PRESENT"

  - `data.property_facility_meta` (object)
    Present only when `debugInfo=true` is passed. Contains the facility name, OTA codes, and allowed/required detail types for this facility.

  - `data.property_facility_meta.facility_id` (integer)
    Booking.com Facility ID

  - `data.property_facility_meta.ota_hotel_amenity_type` (integer)
    OTA HAC (HotelAmenityCode)

  - `data.property_facility_meta.booking_extended_legacy_code` (integer)
    [Legacy] Booking.com Extended HAC Facility Code

  - `data.property_facility_meta.facility_name` (string)
    Name

  - `data.property_facility_meta.allowed_details_list` (array)
    List of applicable detail type names

  - `data.property_facility_meta.required_details_list` (array)
    List of required detail type names

  - `warnings` (array)

  - `warnings.message` (string)

  - `warnings.code` (integer)
    Error code

  - `warnings.description` (string)
    Detailed error description

  - `warnings.details` (object)
    Additional error context

  - `errors` (array)

  - `meta` (object)

  - `meta.ruid` (string)

