{
  "openapi" : "3.1.0",
  "info" : {
    "title" : "Wink API",
    "description" : "Welcome to the Wink API — a programmer-friendly way to manage, sell and book travel\ninventory on the Wink platform. See the **Overview** page (under **API**) for the full\nintroduction, intended audience, testing, and versioning.\n# Extranet API\nEndpoints for property owners and operators: register a property, manage facilities and\nexperiences, set up monetization (rate plans, promotions, cancellation policies), distribute\ninventory across sales channels, and reconcile bookings.\n\n",
    "contact" : {
      "name" : "Contact",
      "email" : "hi@wink.travel"
    },
    "version" : "0.0.0-TEST",
    "x-logo" : {
      "backgroundColor" : "#FFFFFF",
      "altText" : "wink",
      "url" : "https://res.cloudinary.com/traveliko/image/upload/c_scale,h_129/v1653285543/wink/logo_text_white.svg"
    }
  },
  "externalDocs" : {
    "description" : "Documentation",
    "url" : "https://wink.travel/getting-started/how-to-use/"
  },
  "servers" : [ {
    "url" : "https://api.wink.travel",
    "description" : "Endpoint"
  } ],
  "tags" : [ {
    "name" : "Lifestyle",
    "description" : "Manage property lifestyles using this endpoint.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/lifestyle"
    }
  }, {
    "name" : "Daily Rate",
    "description" : "Manage daily rates, availability, and occupancy restrictions for master rates. Operations support bulk updates by date range, per-day updates via keyed lists, and paginated queries."
  }, {
    "name" : "Channel Manager",
    "description" : "Indicate which channel manager the property is using. This can be done either during property invite or using this endpoint. If it is not done during the invite phase, the channel manager defaults to `NONE` which is the same as no channel manager and rate ownership goes to the inventory.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/channel-manager"
    }
  }, {
    "name" : "Scheduler",
    "description" : "Manage reservation schedules and calendar items for travel inventory such as meeting rooms, restaurants, spas, activities, attractions, and places. Enables creating, reading, updating, and deleting scheduled events with support for recurring events, timezone handling, and attendee management.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/scheduler"
    }
  }, {
    "name" : "Sales Channel",
    "description" : "Sales Channels are direct relationships between property and affiliate. Account relationships are initiated by either affiliate or hotel and allows for hotels to give sales channel specific pricing to affiliates on an individual basis.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/sales-channel"
    }
  }, {
    "name" : "Promotion",
    "description" : "Create, read, update, and delete promotions (discounts and premiums) with complex qualification rules. Promotions can reduce or increase rates based on guest location, booking lead time, length of stay, promo codes, and many other criteria.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/promotion"
    }
  }, {
    "name" : "Cancellation Policy",
    "description" : "Manage property cancellation policies. Cancellation policies dictate when and if a traveler is entitled to a full / partial / no refund.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/cancellation-policy"
    }
  }, {
    "name" : "General Manager",
    "description" : "Manage the general manager profile for your property.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/general-manager"
    }
  }, {
    "name" : "Daily Rate",
    "description" : "Manage daily rates and availability for your master rates using these endpoints.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/daily-rate"
    }
  }, {
    "name" : "Promotion Bundle",
    "description" : "Manage bundles of related promotions. Bundle multiple promotions together to apply coordinated discounts or to simplify offerDetails presentation to guests.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/promotion-bundle"
    }
  }, {
    "name" : "Rate Plan",
    "description" : "Manage rate plans that control inventory availability and pricing terms. Rate plans restrict which combinations of master rates, packages, and add-ons can be sold to guests, allowing fine-grained revenue management by date, occupancy, length of stay, and more.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/rate-plan"
    }
  }, {
    "name" : "Guest Room",
    "description" : "Manage property room types.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/guest-room"
    }
  }, {
    "name" : "Analytics",
    "description" : "Retrieve and analyze booking metrics, including property performance, affiliate overview, revenue trends, and detailed time-series analytics.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/analytics"
    }
  }, {
    "name" : "Registration",
    "description" : "This is the endpoint you will want to work first with to begin the process of adding your properties onto the wink.travel platform.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/registration"
    }
  }, {
    "name" : "Social Network",
    "description" : "Manage which social networks the property is connected to.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/social-network"
    }
  }, {
    "name" : "Activity",
    "description" : "Activities are things travelers can do in and around the property. They can be free, for informational purposes only, or they can be bookable and commissionable. The goal of any property is to create as many sellable activities and become more attractive to potential guests by being able to offer more than their competition.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/activity"
    }
  }, {
    "name" : "Place",
    "description" : "Places are points of interest travelers visit in and around the property. They can be free, for informational purposes only, or they can be bookable and commissionable. The goal of any property is to create as many sellable places and become more attractive to potential guests by being able to offer more than their competition.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/place"
    }
  }, {
    "name" : "Geo-Location",
    "description" : "Manage property geo-location.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/geo-location"
    }
  }, {
    "name" : "Add-On",
    "description" : "Add-ons are ancillary inventorythat can be added onto a room booking. It can be literally anything; from a tangible to an intangible good. Note that an add-on can also be made mandatory such as an extra water plane ride to your final island destination in the Maldives or an obligatory Christmas dinner.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/add-on"
    }
  }, {
    "name" : "Sales Channel Request",
    "description" : "Account relationships are initiated by either affiliate or hotel and allows for hotels to give sales channel specific pricing to affiliates on an individual basis.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/sales-channel-request"
    }
  }, {
    "name" : "Test Booking",
    "description" : "Booking endpoints allow you to create and cancel bookings as well as to retrieve all bookings.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/test-booking"
    }
  }, {
    "name" : "Recognition",
    "description" : "A property can associate multiple types of third-party online / offline acknowledgements to their profile in the form of awards, reviews / ratings, articles and more.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/recognition"
    }
  }, {
    "name" : "Booking",
    "description" : "Booking endpoints allow you to create and cancel bookings as well as to retrieve all bookings.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/booking"
    }
  }, {
    "name" : "Property",
    "description" : "Manage your properties",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/property"
    }
  }, {
    "name" : "Inventory Usage",
    "description" : "Endpoints for determining if a a sales channel is currently using the specific inventory.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/inventory-usage"
    }
  }, {
    "name" : "Affiliate",
    "description" : "Browse affiliates with their sales metrics and invite new affiliate partners.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/affiliate"
    }
  }, {
    "name" : "Reports",
    "description" : "Generate and export your booking data as a CSV file.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/reports"
    }
  }, {
    "name" : "Announcement",
    "description" : "Properties can create date-based announcements for travelers. These announcements are returned in HotelInventoryResponse if the itinerary matches the announcement date.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/announcement"
    }
  }, {
    "name" : "Inventory",
    "description" : "Inventory API allows you to control which inventory you want to make available at the sales channel level.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/inventory"
    }
  }, {
    "name" : "Calendar Sync",
    "description" : "CalDAV integration endpoints that enable properties to sync their bookings with external calendar applications (iCal-compatible clients like Google Calendar, Apple Calendar, Outlook, etc.). Generate and manage secure CalDAV feed URLs and authentication keys.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/calendar-sync"
    }
  }, {
    "name" : "Policy",
    "description" : "Manage property policy such as whether the property allows children and pets.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/policy"
    }
  }, {
    "name" : "Welcome Text",
    "description" : "Generate, refine and save your property's welcome description.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/welcome-text"
    }
  }, {
    "name" : "Meeting Room",
    "description" : "Manage meeting rooms that are on and off the premises. Make them viewable-only or let travelers book a meeting room together with their room.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/meeting-room"
    }
  }, {
    "name" : "Review",
    "description" : "Travelers can leave reviews after a booking has taken place. Properties can see these reviews and also respond to them.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/review"
    }
  }, {
    "name" : "Restaurant",
    "description" : "Restaurants are eating establishments travelers can go to to get a meal in and around the property. They can be free, for informational purposes only, or they can be bookable and commissionable. The goal of any property is to create as many bookable restaurants and become more attractive to potential guests by being able to offer more than their competition.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/restaurant"
    }
  }, {
    "name" : "Master Rate",
    "description" : "Master Rates are room types + rules and restrictions that get sold to and booked by travelers. A master rate consists simply of a guest room and a rate plan with the added ability to give away perks to travelers to incentivize them to book this master rate. \n\nNote: The inventory works with rate plan-level availability. This means you assign the master rate availability and not the room type. You set initial availability on the room type / guest room, but you can override on the master rate level. This gives you more flexibility in how you want to sell your rooms. I.e. you can give more availability to a master rate than another with the same room but different rate plan. You can also overbook that room type.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/master-rate"
    }
  }, {
    "name" : "Attraction",
    "description" : "Attractions are things travelers visit in and around the property. They can be free, for informational purposes only, or they can be bookable and commissionable. The goal of any property is to create as many sellable attractions and become more attractive to potential guests by being able to offer more than their competition.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/attraction"
    }
  }, {
    "name" : "Spa",
    "description" : "Spas are health establishments travelers can go to to get a massage or similar in and around the property. They can be free, for informational purposes only, or they can be bookable and commissionable. The goal of any property is to create as many bookable spas and become more attractive to potential guests by being able to offer more than their competition.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/spa"
    }
  }, {
    "name" : "Media",
    "description" : "Manage property media including images and videos. Property media are for general pictures of the hotel such as main featured image, around premises, lobby etc. For all other media, each travel inventorysection contains its own section for managing media.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#extranet/tag/media"
    }
  } ],
  "paths" : {
    "/api/managing-entity/{managingEntityIdentifier}/extranet/rate-plan/{ratePlanIdentifier}" : {
      "get" : {
        "tags" : [ "Rate Plan" ],
        "summary" : "Retrieve a single rate plan",
        "description" : "Fetch the complete details of a specific rate plan by its identifier for the given property. Includes all restrictions, modifiers, and cancellation policies. Requires INVENTORY:READ on the managing entity.",
        "operationId" : "show-rate-plan",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the property that owns this rate plan.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "ratePlanIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the rate plan to retrieve.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Rate plan details retrieved successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RatePlanLightweight_Supplier"
                },
                "example" : {
                  "allInclusive" : false,
                  "allInclusivePlusAlcohol" : false,
                  "arrivalDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "availableDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "breakfast" : false,
                  "brunch" : false,
                  "cancellationPolicy" : {
                    "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                    "createdDate" : "2026-01-14T09:30:00",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                    "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                    "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                    "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                    "refundable" : false,
                    "refundableCancellationCharge" : "FIFTY_PERCENT",
                    "version" : 3
                  },
                  "cancellationPolicyExceptions" : {
                    "list" : [ {
                      "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "endDate" : "2026-12-31",
                      "startDate" : "2026-01-14"
                    } ]
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "departureDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dinner" : false,
                  "earlyCheckInCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "enabled" : false,
                  "extraChildRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lateCheckOutCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "loyaltyPointsAccrue" : false,
                  "lunch" : false,
                  "maxAdvanceBookingOffset" : 180,
                  "maxAge" : 65,
                  "maxLOS" : 30,
                  "maxTotalOccupancy" : 4,
                  "minAdvanceBookingOffset" : 3,
                  "minAge" : 18,
                  "minLOS" : 1,
                  "minTotalOccupancy" : 1,
                  "name" : "Best Available Rate",
                  "prepaid" : false,
                  "ratePlanLevelFees" : [ {
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "fixedAmount" : 450.0,
                    "type" : "PER_DAY"
                  } ],
                  "requiredDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "sellEndDate" : "2026-12-31",
                  "sellStartDate" : "2026-01-15",
                  "singleOccupancyRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "stayEndDate" : "2026-12-31",
                  "stayStartDate" : "2026-01-15",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Rate Plan" ],
        "summary" : "Update an existing rate plan",
        "description" : "Modify an existing rate plan by its identifier for the given property. Allows updates to meal inclusions, availability windows, occupancy restrictions, pricing modifiers, and cancellation policies. Requires INVENTORY:WRITE on the managing entity. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-rate-plan",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the property that owns the rate plan to be updated.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "ratePlanIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the rate plan to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The rate plan's last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated rate plan fields including meal inclusions, availability windows, occupancy restrictions, pricing modifiers, and cancellation policies",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertRatePlanRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Rate plan updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RatePlanLightweight_Supplier"
                },
                "example" : {
                  "allInclusive" : false,
                  "allInclusivePlusAlcohol" : false,
                  "arrivalDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "availableDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "breakfast" : false,
                  "brunch" : false,
                  "cancellationPolicy" : {
                    "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                    "createdDate" : "2026-01-14T09:30:00",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                    "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                    "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                    "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                    "refundable" : false,
                    "refundableCancellationCharge" : "FIFTY_PERCENT",
                    "version" : 3
                  },
                  "cancellationPolicyExceptions" : {
                    "list" : [ {
                      "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "endDate" : "2026-12-31",
                      "startDate" : "2026-01-14"
                    } ]
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "departureDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dinner" : false,
                  "earlyCheckInCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "enabled" : false,
                  "extraChildRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lateCheckOutCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "loyaltyPointsAccrue" : false,
                  "lunch" : false,
                  "maxAdvanceBookingOffset" : 180,
                  "maxAge" : 65,
                  "maxLOS" : 30,
                  "maxTotalOccupancy" : 4,
                  "minAdvanceBookingOffset" : 3,
                  "minAge" : 18,
                  "minLOS" : 1,
                  "minTotalOccupancy" : 1,
                  "name" : "Best Available Rate",
                  "prepaid" : false,
                  "ratePlanLevelFees" : [ {
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "fixedAmount" : 450.0,
                    "type" : "PER_DAY"
                  } ],
                  "requiredDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "sellEndDate" : "2026-12-31",
                  "sellStartDate" : "2026-01-15",
                  "singleOccupancyRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "stayEndDate" : "2026-12-31",
                  "stayStartDate" : "2026-01-15",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Rate Plan" ],
        "summary" : "Delete a rate plan",
        "description" : "Permanently remove a rate plan by its identifier from the given property. The rate plan must not be in use by any master rates, packages, or add-ons. Requires INVENTORY:WRITE on the managing entity.",
        "operationId" : "remove-rate-plan",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the property that owns the rate plan to be deleted.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "ratePlanIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the rate plan to delete.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Rate plan removed successfully. Returns the deleted rate plan.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RatePlanLightweight_Supplier"
                },
                "example" : {
                  "allInclusive" : false,
                  "allInclusivePlusAlcohol" : false,
                  "arrivalDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "availableDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "breakfast" : false,
                  "brunch" : false,
                  "cancellationPolicy" : {
                    "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                    "createdDate" : "2026-01-14T09:30:00",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                    "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                    "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                    "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                    "refundable" : false,
                    "refundableCancellationCharge" : "FIFTY_PERCENT",
                    "version" : 3
                  },
                  "cancellationPolicyExceptions" : {
                    "list" : [ {
                      "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "endDate" : "2026-12-31",
                      "startDate" : "2026-01-14"
                    } ]
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "departureDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dinner" : false,
                  "earlyCheckInCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "enabled" : false,
                  "extraChildRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lateCheckOutCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "loyaltyPointsAccrue" : false,
                  "lunch" : false,
                  "maxAdvanceBookingOffset" : 180,
                  "maxAge" : 65,
                  "maxLOS" : 30,
                  "maxTotalOccupancy" : 4,
                  "minAdvanceBookingOffset" : 3,
                  "minAge" : 18,
                  "minLOS" : 1,
                  "minTotalOccupancy" : 1,
                  "name" : "Best Available Rate",
                  "prepaid" : false,
                  "ratePlanLevelFees" : [ {
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "fixedAmount" : 450.0,
                    "type" : "PER_DAY"
                  } ],
                  "requiredDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "sellEndDate" : "2026-12-31",
                  "sellStartDate" : "2026-01-15",
                  "singleOccupancyRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "stayEndDate" : "2026-12-31",
                  "stayStartDate" : "2026-01-15",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/recognition/{recognitionIdentifier}" : {
      "get" : {
        "tags" : [ "Recognition" ],
        "summary" : "Show",
        "description" : "Returns a single recognition by its identifier for the given property. Requires CONTENT:READ on the managing entity.",
        "operationId" : "show-recognition",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show recognition belonging to this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "recognitionIdentifier",
          "in" : "path",
          "description" : "Show recognition associated with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Recognition record for the specified identifier on the given property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
                },
                "example" : {
                  "category" : "AWARD",
                  "date" : "2026-01-14",
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "maxRating" : 10.0,
                  "officialAppointmentInd" : true,
                  "provider" : "Michelin",
                  "rating" : 8.5,
                  "ratingSymbol" : "*",
                  "type" : "PERCENT_RATING"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Recognition" ],
        "summary" : "Update",
        "description" : "Updates an existing recognition identified by its identifier on the given property. Requires CONTENT:WRITE on the managing entity. Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-recognition",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update recognition record associated with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "recognitionIdentifier",
          "in" : "path",
          "description" : "Update recognition with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated recognition fields including category, source, title, year, and any associated media",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertRecognition_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the recognition changes applied",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Recognition" ],
        "summary" : "Delete",
        "description" : "Removes a recognition by its identifier from the given property. Requires CONTENT:WRITE on the managing entity.",
        "operationId" : "remove-recognition",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Delete recognition record for property with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "recognitionIdentifier",
          "in" : "path",
          "description" : "Delete recognition with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the specified recognition removed",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/policy/property" : {
      "get" : {
        "tags" : [ "Policy" ],
        "summary" : "Show",
        "description" : "Returns the stored policy (e.g. children and pet rules) for the given managing entity, or a default policy when none has been set.",
        "operationId" : "show-property-policy",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Retrieve property policy for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Property policy including guest, pet, and internet rules",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyPolicy_Supplier"
                },
                "example" : {
                  "checkInTime" : "14:00",
                  "checkOutTime" : "10:00",
                  "childrenAllowed" : true,
                  "childrenMinimumAge" : 6,
                  "internetAvailability" : "YES",
                  "internetConnectionLocation" : "ENTIRE_PROPERTY",
                  "internetConnectionType" : "WIFI",
                  "parkingAccess" : "PRIVATE",
                  "parkingAvailability" : "YES",
                  "petCharge" : {
                    "amount" : 500.0,
                    "currency" : "THB"
                  },
                  "petMaxWeightInKilos" : 10,
                  "petsAllowed" : true
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Policy" ],
        "summary" : "Update",
        "description" : "Replaces the existing policy for the managing entity with the supplied values and returns the updated property; requires CONTENT:WRITE permission. Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-property-policy",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update property policy record for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Replacement property policy values for guest rules, pet restrictions, internet availability, and check-in/check-out terms",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PropertyPolicy_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the replaced policy applied",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "Policy" ],
        "summary" : "Create",
        "description" : "Persists the initial policy for the managing entity and returns the updated property; requires CONTENT:WRITE permission.",
        "operationId" : "create-policy",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Create property policy for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Initial property policy including guest rules, pet restrictions, internet availability, and check-in/check-out terms",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PropertyPolicy_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Updated property record with the newly created policy applied",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/lifestyles" : {
      "get" : {
        "tags" : [ "Lifestyle" ],
        "summary" : "Show",
        "description" : "Returns the lifestyle types currently assigned to the property, or an empty set when none are configured.",
        "operationId" : "show-lifestyles",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show Lifestyles for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Lifestyle types currently assigned to the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LifestylesResponse_Supplier"
                },
                "example" : {
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "list" : [ "LIFESTYLE_ROMANCE", "LIFESTYLE_BEACH", "LIFESTYLE_ECO" ]
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Lifestyle" ],
        "summary" : "Update",
        "description" : "Replaces the property's assigned lifestyle types with the supplied selection. See [supported lifestyles](#operation/showLifestyles). Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-lifestyles",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update lifestyles for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Selected lifestyle types to assign to the property, replacing any previously configured set",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateLifestylesRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the new lifestyle type selection applied",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/promotion/{rateModifierIdentifier}" : {
      "get" : {
        "tags" : [ "Promotion" ],
        "summary" : "Get a single promotion",
        "description" : "Retrieve a specific promotion by its identifier for the given property.",
        "operationId" : "show-promotion",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the managing entity (property).",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "rateModifierIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the promotion to retrieve.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "550e8400-e29b-41d4-a716-446655440000"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Promotion retrieved successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpecialRateLightweight_Supplier"
                },
                "example" : {
                  "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                  "advanceBookingRateQualifier" : {
                    "maxAdvanceBookingOffset" : 365,
                    "minAdvanceBookingOffset" : 7
                  },
                  "arrivalDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "availableDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "blackoutDates" : [ {
                    "effectiveDate" : "2026-04-13",
                    "expireDate" : "2026-04-15"
                  } ],
                  "cityRateQualifiers" : [ {
                    "city" : {
                      "countryCode" : "TH",
                      "geoNameId" : "1609350",
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "name" : "Bangkok"
                    }
                  } ],
                  "continentRateQualifiers" : [ {
                    "continent" : "NA"
                  } ],
                  "countryRateQualifiers" : [ {
                    "country" : {
                      "continentCode" : "AS",
                      "geoNameId" : "1609350",
                      "isoAlpha2" : "TH",
                      "isoAlpha3" : "THA",
                      "name" : "Thailand"
                    }
                  } ],
                  "createdDate" : "2026-01-14T09:30:00",
                  "departureDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "enabled" : true,
                  "geoLocationRateQualifiers" : [ {
                    "latitude" : 13.7563,
                    "longitude" : 100.5018,
                    "radiusInKilometers" : 50
                  } ],
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "ipRangeRateQualifiers" : [ {
                    "endIPRange" : "192.168.1.255",
                    "startIPRange" : "192.168.1.0"
                  } ],
                  "lastMinuteRateQualifier" : {
                    "seconds" : 1440
                  },
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lengthOfStayRateQualifier" : {
                    "maxLOS" : 30,
                    "minLOS" : 3
                  },
                  "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                  "modifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "name" : "Early bird",
                  "prepayRateQualifier" : {
                    "prepay" : true
                  },
                  "pricingType" : "PER_PERSON_PER_NIGHT",
                  "promotionRateQualifiers" : [ {
                    "promotion" : "EARLYBIRD2026"
                  } ],
                  "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                  "refundableRateQualifier" : {
                    "refundable" : true
                  },
                  "requiredDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "roomRangeRateQualifier" : {
                    "maxRooms" : 4,
                    "minRooms" : 1
                  },
                  "sellDateRateQualifiers" : [ {
                    "effectiveDate" : "2026-05-01",
                    "expireDate" : "2026-08-31"
                  } ],
                  "stayDateRateQualifiers" : [ {
                    "effectiveDate" : "2026-06-01",
                    "expireDate" : "2026-08-31"
                  } ],
                  "timezoneRateQualifiers" : [ {
                    "timezone" : "Asia/Bangkok"
                  } ],
                  "type" : "DISCOUNT",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Promotion" ],
        "summary" : "Update a promotion",
        "description" : "Modify an existing promotion's name, rules, and qualification criteria.",
        "operationId" : "update-promotion",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the managing entity (property).",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "rateModifierIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the promotion to update.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "550e8400-e29b-41d4-a716-446655440000"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated promotion definition with revised name, discount or premium rules, or qualification criteria",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertSpecialRateRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Promotion updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpecialRateLightweight_Supplier"
                },
                "example" : {
                  "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                  "advanceBookingRateQualifier" : {
                    "maxAdvanceBookingOffset" : 365,
                    "minAdvanceBookingOffset" : 7
                  },
                  "arrivalDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "availableDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "blackoutDates" : [ {
                    "effectiveDate" : "2026-04-13",
                    "expireDate" : "2026-04-15"
                  } ],
                  "cityRateQualifiers" : [ {
                    "city" : {
                      "countryCode" : "TH",
                      "geoNameId" : "1609350",
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "name" : "Bangkok"
                    }
                  } ],
                  "continentRateQualifiers" : [ {
                    "continent" : "NA"
                  } ],
                  "countryRateQualifiers" : [ {
                    "country" : {
                      "continentCode" : "AS",
                      "geoNameId" : "1609350",
                      "isoAlpha2" : "TH",
                      "isoAlpha3" : "THA",
                      "name" : "Thailand"
                    }
                  } ],
                  "createdDate" : "2026-01-14T09:30:00",
                  "departureDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "enabled" : true,
                  "geoLocationRateQualifiers" : [ {
                    "latitude" : 13.7563,
                    "longitude" : 100.5018,
                    "radiusInKilometers" : 50
                  } ],
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "ipRangeRateQualifiers" : [ {
                    "endIPRange" : "192.168.1.255",
                    "startIPRange" : "192.168.1.0"
                  } ],
                  "lastMinuteRateQualifier" : {
                    "seconds" : 1440
                  },
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lengthOfStayRateQualifier" : {
                    "maxLOS" : 30,
                    "minLOS" : 3
                  },
                  "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                  "modifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "name" : "Early bird",
                  "prepayRateQualifier" : {
                    "prepay" : true
                  },
                  "pricingType" : "PER_PERSON_PER_NIGHT",
                  "promotionRateQualifiers" : [ {
                    "promotion" : "EARLYBIRD2026"
                  } ],
                  "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                  "refundableRateQualifier" : {
                    "refundable" : true
                  },
                  "requiredDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "roomRangeRateQualifier" : {
                    "maxRooms" : 4,
                    "minRooms" : 1
                  },
                  "sellDateRateQualifiers" : [ {
                    "effectiveDate" : "2026-05-01",
                    "expireDate" : "2026-08-31"
                  } ],
                  "stayDateRateQualifiers" : [ {
                    "effectiveDate" : "2026-06-01",
                    "expireDate" : "2026-08-31"
                  } ],
                  "timezoneRateQualifiers" : [ {
                    "timezone" : "Asia/Bangkok"
                  } ],
                  "type" : "DISCOUNT",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Promotion" ],
        "summary" : "Delete a promotion",
        "description" : "Permanently remove a promotion from the property.",
        "operationId" : "remove-rate-modifier",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the managing entity (property).",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "rateModifierIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the promotion to delete.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "550e8400-e29b-41d4-a716-446655440000"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Promotion deleted successfully; the removed promotion is returned for confirmation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpecialRateLightweight_Supplier"
                },
                "example" : {
                  "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                  "advanceBookingRateQualifier" : {
                    "maxAdvanceBookingOffset" : 365,
                    "minAdvanceBookingOffset" : 7
                  },
                  "arrivalDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "availableDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "blackoutDates" : [ {
                    "effectiveDate" : "2026-04-13",
                    "expireDate" : "2026-04-15"
                  } ],
                  "cityRateQualifiers" : [ {
                    "city" : {
                      "countryCode" : "TH",
                      "geoNameId" : "1609350",
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "name" : "Bangkok"
                    }
                  } ],
                  "continentRateQualifiers" : [ {
                    "continent" : "NA"
                  } ],
                  "countryRateQualifiers" : [ {
                    "country" : {
                      "continentCode" : "AS",
                      "geoNameId" : "1609350",
                      "isoAlpha2" : "TH",
                      "isoAlpha3" : "THA",
                      "name" : "Thailand"
                    }
                  } ],
                  "createdDate" : "2026-01-14T09:30:00",
                  "departureDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "enabled" : true,
                  "geoLocationRateQualifiers" : [ {
                    "latitude" : 13.7563,
                    "longitude" : 100.5018,
                    "radiusInKilometers" : 50
                  } ],
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "ipRangeRateQualifiers" : [ {
                    "endIPRange" : "192.168.1.255",
                    "startIPRange" : "192.168.1.0"
                  } ],
                  "lastMinuteRateQualifier" : {
                    "seconds" : 1440
                  },
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lengthOfStayRateQualifier" : {
                    "maxLOS" : 30,
                    "minLOS" : 3
                  },
                  "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                  "modifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "name" : "Early bird",
                  "prepayRateQualifier" : {
                    "prepay" : true
                  },
                  "pricingType" : "PER_PERSON_PER_NIGHT",
                  "promotionRateQualifiers" : [ {
                    "promotion" : "EARLYBIRD2026"
                  } ],
                  "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                  "refundableRateQualifier" : {
                    "refundable" : true
                  },
                  "requiredDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "roomRangeRateQualifier" : {
                    "maxRooms" : 4,
                    "minRooms" : 1
                  },
                  "sellDateRateQualifiers" : [ {
                    "effectiveDate" : "2026-05-01",
                    "expireDate" : "2026-08-31"
                  } ],
                  "stayDateRateQualifiers" : [ {
                    "effectiveDate" : "2026-06-01",
                    "expireDate" : "2026-08-31"
                  } ],
                  "timezoneRateQualifiers" : [ {
                    "timezone" : "Asia/Bangkok"
                  } ],
                  "type" : "DISCOUNT",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/promotion-bundle/{rateModifierBundleIdentifier}" : {
      "get" : {
        "tags" : [ "Promotion Bundle" ],
        "summary" : "Get a single promotion bundle",
        "description" : "Retrieve a specific promotion bundle by its identifier.",
        "operationId" : "show-rate-modifier-bundle",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the managing entity (property).",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "rateModifierBundleIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the promotion bundle to retrieve.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "660e8400-e29b-41d4-a716-446655440111"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Promotion bundle retrieved successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpecialRateBundleLightweight_Supplier"
                },
                "example" : {
                  "aggregatedItemDescriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "effectiveDescriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "enabled" : true,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "items" : [ {
                    "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                    "advanceBookingRateQualifier" : {
                      "maxAdvanceBookingOffset" : 365,
                      "minAdvanceBookingOffset" : 7
                    },
                    "arrivalDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "availableDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "blackoutDates" : [ {
                      "effectiveDate" : "2026-04-13",
                      "expireDate" : "2026-04-15"
                    } ],
                    "cityRateQualifiers" : [ {
                      "city" : {
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "name" : "Bangkok"
                      }
                    } ],
                    "continentRateQualifiers" : [ {
                      "continent" : "NA"
                    } ],
                    "countryRateQualifiers" : [ {
                      "country" : {
                        "continentCode" : "AS",
                        "geoNameId" : "1609350",
                        "isoAlpha2" : "TH",
                        "isoAlpha3" : "THA",
                        "name" : "Thailand"
                      }
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "geoLocationRateQualifiers" : [ {
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "radiusInKilometers" : 50
                    } ],
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "ipRangeRateQualifiers" : [ {
                      "endIPRange" : "192.168.1.255",
                      "startIPRange" : "192.168.1.0"
                    } ],
                    "lastMinuteRateQualifier" : {
                      "seconds" : 1440
                    },
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lengthOfStayRateQualifier" : {
                      "maxLOS" : 30,
                      "minLOS" : 3
                    },
                    "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                    "modifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird",
                    "prepayRateQualifier" : {
                      "prepay" : true
                    },
                    "pricingType" : "PER_PERSON_PER_NIGHT",
                    "promotionRateQualifiers" : [ {
                      "promotion" : "EARLYBIRD2026"
                    } ],
                    "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                    "refundableRateQualifier" : {
                      "refundable" : true
                    },
                    "requiredDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "roomRangeRateQualifier" : {
                      "maxRooms" : 4,
                      "minRooms" : 1
                    },
                    "sellDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-05-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "stayDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-06-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "timezoneRateQualifiers" : [ {
                      "timezone" : "Asia/Bangkok"
                    } ],
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "modifierOverride" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "name" : "Early bird - Long Term",
                  "pricingType" : "PER_NIGHT",
                  "type" : "DISCOUNT",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Promotion Bundle" ],
        "summary" : "Update a promotion bundle",
        "description" : "Modify an existing promotion bundle's name, promotions, and override rules.",
        "operationId" : "update-rate-modifier-bundle",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the managing entity (property).",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "rateModifierBundleIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the promotion bundle to update.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "660e8400-e29b-41d4-a716-446655440111"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated promotion bundle definition with revised name, promotions list, or override rules",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertSpecialRateBundleRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Promotion bundle updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpecialRateBundleLightweight_Supplier"
                },
                "example" : {
                  "aggregatedItemDescriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "effectiveDescriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "enabled" : true,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "items" : [ {
                    "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                    "advanceBookingRateQualifier" : {
                      "maxAdvanceBookingOffset" : 365,
                      "minAdvanceBookingOffset" : 7
                    },
                    "arrivalDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "availableDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "blackoutDates" : [ {
                      "effectiveDate" : "2026-04-13",
                      "expireDate" : "2026-04-15"
                    } ],
                    "cityRateQualifiers" : [ {
                      "city" : {
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "name" : "Bangkok"
                      }
                    } ],
                    "continentRateQualifiers" : [ {
                      "continent" : "NA"
                    } ],
                    "countryRateQualifiers" : [ {
                      "country" : {
                        "continentCode" : "AS",
                        "geoNameId" : "1609350",
                        "isoAlpha2" : "TH",
                        "isoAlpha3" : "THA",
                        "name" : "Thailand"
                      }
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "geoLocationRateQualifiers" : [ {
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "radiusInKilometers" : 50
                    } ],
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "ipRangeRateQualifiers" : [ {
                      "endIPRange" : "192.168.1.255",
                      "startIPRange" : "192.168.1.0"
                    } ],
                    "lastMinuteRateQualifier" : {
                      "seconds" : 1440
                    },
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lengthOfStayRateQualifier" : {
                      "maxLOS" : 30,
                      "minLOS" : 3
                    },
                    "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                    "modifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird",
                    "prepayRateQualifier" : {
                      "prepay" : true
                    },
                    "pricingType" : "PER_PERSON_PER_NIGHT",
                    "promotionRateQualifiers" : [ {
                      "promotion" : "EARLYBIRD2026"
                    } ],
                    "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                    "refundableRateQualifier" : {
                      "refundable" : true
                    },
                    "requiredDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "roomRangeRateQualifier" : {
                      "maxRooms" : 4,
                      "minRooms" : 1
                    },
                    "sellDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-05-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "stayDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-06-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "timezoneRateQualifiers" : [ {
                      "timezone" : "Asia/Bangkok"
                    } ],
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "modifierOverride" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "name" : "Early bird - Long Term",
                  "pricingType" : "PER_NIGHT",
                  "type" : "DISCOUNT",
                  "version" : 3
                }
              }
            }
          },
          "422" : {
            "description" : "Validation failed: bundle must contain at least two individual promotions.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpecialRateBundleLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Promotion Bundle" ],
        "summary" : "Delete a promotion bundle",
        "description" : "Permanently remove a promotion bundle from the property.",
        "operationId" : "remove-rate-modifier-bundle",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the managing entity (property).",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "rateModifierBundleIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the promotion bundle to delete.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "660e8400-e29b-41d4-a716-446655440111"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Promotion bundle deleted successfully; the removed bundle is returned for confirmation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpecialRateBundleLightweight_Supplier"
                },
                "example" : {
                  "aggregatedItemDescriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "effectiveDescriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "enabled" : true,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "items" : [ {
                    "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                    "advanceBookingRateQualifier" : {
                      "maxAdvanceBookingOffset" : 365,
                      "minAdvanceBookingOffset" : 7
                    },
                    "arrivalDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "availableDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "blackoutDates" : [ {
                      "effectiveDate" : "2026-04-13",
                      "expireDate" : "2026-04-15"
                    } ],
                    "cityRateQualifiers" : [ {
                      "city" : {
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "name" : "Bangkok"
                      }
                    } ],
                    "continentRateQualifiers" : [ {
                      "continent" : "NA"
                    } ],
                    "countryRateQualifiers" : [ {
                      "country" : {
                        "continentCode" : "AS",
                        "geoNameId" : "1609350",
                        "isoAlpha2" : "TH",
                        "isoAlpha3" : "THA",
                        "name" : "Thailand"
                      }
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "geoLocationRateQualifiers" : [ {
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "radiusInKilometers" : 50
                    } ],
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "ipRangeRateQualifiers" : [ {
                      "endIPRange" : "192.168.1.255",
                      "startIPRange" : "192.168.1.0"
                    } ],
                    "lastMinuteRateQualifier" : {
                      "seconds" : 1440
                    },
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lengthOfStayRateQualifier" : {
                      "maxLOS" : 30,
                      "minLOS" : 3
                    },
                    "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                    "modifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird",
                    "prepayRateQualifier" : {
                      "prepay" : true
                    },
                    "pricingType" : "PER_PERSON_PER_NIGHT",
                    "promotionRateQualifiers" : [ {
                      "promotion" : "EARLYBIRD2026"
                    } ],
                    "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                    "refundableRateQualifier" : {
                      "refundable" : true
                    },
                    "requiredDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "roomRangeRateQualifier" : {
                      "maxRooms" : 4,
                      "minRooms" : 1
                    },
                    "sellDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-05-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "stayDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-06-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "timezoneRateQualifiers" : [ {
                      "timezone" : "Asia/Bangkok"
                    } ],
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "modifierOverride" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "name" : "Early bird - Long Term",
                  "pricingType" : "PER_NIGHT",
                  "type" : "DISCOUNT",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}" : {
      "get" : {
        "tags" : [ "Spa" ],
        "summary" : "Show spa details",
        "description" : "Retrieves the complete details of a single spa facility, including descriptions, multimedia assets, contact information, location, pricing, amenities, operating hours, and bookability status.",
        "operationId" : "show-spa",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier — the spa to retrieve",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Complete spa record",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Spa" ],
        "summary" : "Update spa details",
        "description" : "Updates the editable fields of an existing spa facility identified by its spa identifier. Returns the updated record. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-spa",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier — the spa to update",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated spa facility details including revised descriptions, pricing, amenities, operating hours, or bookability settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertSpaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated spa record",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Spa" ],
        "summary" : "Delete spa",
        "description" : "Permanently removes a spa facility identified by its spa identifier from the property's inventory.",
        "operationId" : "remove-spa",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier — the spa to delete",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The spa record that was deleted",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}" : {
      "get" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Get room type",
        "description" : "Returns a single room type by its identifier for the given managing entity. Requires INVENTORY:READ on the property.",
        "operationId" : "show-guest-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns this room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to retrieve.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Update room type",
        "description" : "Replaces the details of an existing room type identified by its identifier. Requires INVENTORY:WRITE on the property. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-guest-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to update.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated room type definition including name, description, bed configuration, occupancy limits, amenities, and pricing details",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertRoomTypeRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Delete room type",
        "description" : "Permanently removes a room type by its identifier from the given managing entity. Requires INVENTORY:WRITE on the property.",
        "operationId" : "remove-guest-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to delete.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type deleted successfully; the removed room type document is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}" : {
      "get" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Show one",
        "description" : "Loads a single restaurant by its identifier.",
        "operationId" : "show-restaurant",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show single restaurant owned by this property (managing entity) identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Show restaurant record identified by this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested restaurant record.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Update",
        "description" : "Replaces an existing restaurant's details by its identifier. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-restaurant",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update an existing restaurant record owned by this property (managing entity) identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Update an existing restaurant record identified by this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated restaurant details including name, description, cuisine type, operating hours, pricing tier, and bookability settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertRestaurantRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The updated restaurant record.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Delete",
        "description" : "Permanently removes a restaurant by its identifier.",
        "operationId" : "remove-restaurant",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Remove restaurant record owned by this property (managing entity) identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Remove restaurant record identified by this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The restaurant record that was deleted.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}" : {
      "get" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Show",
        "description" : "Loads a single meeting room by its identifier.",
        "operationId" : "show-meeting-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show a single meeting room owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Show meeting room for identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested meeting room",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Update",
        "description" : "Replaces the stored meeting room identified by its identifier with the supplied values. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-meeting-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update a meeting room owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Update meeting room with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated meeting room details including name, capacity, setup styles, equipment, pricing and multimedia assets",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertMeetingRoomRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated meeting room",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Delete",
        "description" : "Removes the meeting room identified by its identifier from the property.",
        "operationId" : "remove-meeting-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Remove meeting room associated with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Remove meeting room with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting room deleted; returns the removed meeting room record",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}" : {
      "get" : {
        "tags" : [ "Place" ],
        "summary" : "Show",
        "description" : "Returns a single place by its identifier.",
        "operationId" : "show-place",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show single place owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Show place record identified by this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested place record",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Place" ],
        "summary" : "Update",
        "description" : "Updates an existing place identified by its identifier with the supplied values. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-place",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update an existing place record owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Update an existing place record identified by this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated place details including name, description, location, pricing, bookability settings, and associated media",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertPlaceRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The updated place record",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Place" ],
        "summary" : "Delete",
        "description" : "Permanently removes the place identified by its identifier.",
        "operationId" : "remove-place",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Remove place record owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Remove place record identified by this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The place record that was deleted",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}" : {
      "get" : {
        "tags" : [ "Attraction" ],
        "summary" : "Retrieve single attraction",
        "description" : "Returns a single attraction by its identifier for the given managing entity. Requires INVENTORY:READ on the property.",
        "operationId" : "show-attraction",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested attraction",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Attraction" ],
        "summary" : "Update attraction",
        "description" : "Updates an existing attraction identified by its identifier for the given managing entity. Requires INVENTORY:WRITE on the property. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-attraction",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated attraction details including name, description, location, type, pricing and media references",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertAttractionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attraction updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Attraction" ],
        "summary" : "Delete attraction",
        "description" : "Permanently removes an attraction by its identifier from the given managing entity. Requires INVENTORY:WRITE on the property.",
        "operationId" : "remove-attraction",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attraction deleted; returns the removed attraction document",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}" : {
      "get" : {
        "tags" : [ "Activity" ],
        "summary" : "Show",
        "description" : "Returns a single activity by its identifier.",
        "operationId" : "show-activity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (Managing Entity)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested activity",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Activity" ],
        "summary" : "Update",
        "description" : "Updates an existing activity identified by its identifier with the supplied values. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-activity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (Managing Entity)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated activity details including name, description, schedule and pricing",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertActivityRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The updated activity",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Activity" ],
        "summary" : "Delete",
        "description" : "Permanently removes the activity identified by its identifier.",
        "operationId" : "remove-activity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (Managing Entity)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The deleted activity",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/cancellation-policy/{cancellationPolicyIdentifier}" : {
      "get" : {
        "tags" : [ "Cancellation Policy" ],
        "summary" : "Show",
        "description" : "Returns the single cancellation policy identified by the given ID, or a 404 error if it cannot be found for the property.",
        "operationId" : "show-cancellation-policy",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity (property owner) that owns the cancellation policy.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "cancellationPolicyIdentifier",
          "in" : "path",
          "description" : "UUID of the cancellation policy to retrieve.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a4c8e2f1-7b3d-4e9a-8c05-2f1b6d0e3a74"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested cancellation policy.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CancellationPolicyLightweight_Supplier"
                },
                "example" : {
                  "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                  "createdDate" : "2026-01-14T09:30:00",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                  "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                  "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                  "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                  "refundable" : false,
                  "refundableCancellationCharge" : "FIFTY_PERCENT",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Cancellation Policy" ],
        "summary" : "Update",
        "description" : "Updates the cancellation policy identified by the given ID for the given property from the supplied request. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-cancellation-policy",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity (property owner) that owns the cancellation policy.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "cancellationPolicyIdentifier",
          "in" : "path",
          "description" : "UUID of the cancellation policy to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a4c8e2f1-7b3d-4e9a-8c05-2f1b6d0e3a74"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The cancellation policy's last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated cancellation policy definition including the policy name, refund rules and applicable time windows before check-in",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertCancellationPolicyRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Cancellation policy updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CancellationPolicyLightweight_Supplier"
                },
                "example" : {
                  "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                  "createdDate" : "2026-01-14T09:30:00",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                  "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                  "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                  "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                  "refundable" : false,
                  "refundableCancellationCharge" : "FIFTY_PERCENT",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Cancellation Policy" ],
        "summary" : "Delete",
        "description" : "Permanently deletes the cancellation policy identified by the given ID from the given property.",
        "operationId" : "remove-cancellation-policy",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity (property owner) that owns the cancellation policy.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "cancellationPolicyIdentifier",
          "in" : "path",
          "description" : "UUID of the cancellation policy to delete.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a4c8e2f1-7b3d-4e9a-8c05-2f1b6d0e3a74"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Cancellation policy successfully deleted; returns the deleted policy record.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CancellationPolicyLightweight_Supplier"
                },
                "example" : {
                  "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                  "createdDate" : "2026-01-14T09:30:00",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                  "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                  "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                  "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                  "refundable" : false,
                  "refundableCancellationCharge" : "FIFTY_PERCENT",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/announcement/{announcementIdentifier}" : {
      "get" : {
        "tags" : [ "Announcement" ],
        "summary" : "Get announcement details",
        "description" : "Returns a single announcement by its identifier, including all configured dates, content in all languages, and visibility settings. Requires CONTENT:READ on the managing entity.",
        "operationId" : "show-announcement",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the property (managing entity)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "announcementIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the announcement to retrieve",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested announcement",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnnouncementLightweight_Supplier"
                },
                "example" : {
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "endDate" : "2026-04-15",
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "showAlways" : false,
                  "showTitle" : true,
                  "startDate" : "2026-03-01",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Announcement" ],
        "summary" : "Update announcement",
        "description" : "Updates an existing announcement identified by its identifier for the given property. All fields in the request replace the corresponding announcement fields. Requires CONTENT:WRITE on the managing entity.",
        "operationId" : "update-announcement",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the property (managing entity)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "announcementIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the announcement to update",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Replacement announcement content including multilingual text, display date range and visibility settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertAnnouncementRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Announcement updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnnouncementLightweight_Supplier"
                },
                "example" : {
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "endDate" : "2026-04-15",
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "showAlways" : false,
                  "showTitle" : true,
                  "startDate" : "2026-03-01",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Announcement" ],
        "summary" : "Delete announcement",
        "description" : "Permanently removes an announcement by its identifier from the given property. After deletion, the announcement is no longer visible to travelers. The removed announcement record is returned for audit and event sourcing purposes. Requires CONTENT:WRITE on the managing entity.",
        "operationId" : "remove-announcement",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the property (managing entity)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "announcementIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the announcement to delete",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Announcement deleted successfully; deleted announcement record returned for audit",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnnouncementLightweight_Supplier"
                },
                "example" : {
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "endDate" : "2026-04-15",
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "showAlways" : false,
                  "showTitle" : true,
                  "startDate" : "2026-03-01",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}" : {
      "get" : {
        "tags" : [ "Add-On" ],
        "summary" : "Get add-on by ID",
        "description" : "Retrieves a single add-on belonging to the property by its identifier. Requires INVENTORY:READ permission on the property.",
        "operationId" : "show-add-on",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the add-on",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to retrieve",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on retrieved successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Add-On" ],
        "summary" : "Update add-on",
        "description" : "Replaces the specified add-on with the supplied details. Returns the updated add-on record. Requires INVENTORY:WRITE permission on the property. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-add-on",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the add-on",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to update",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The add-on's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated add-on details including name, description, pricing, mandatory flag and media references",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertAddOnRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Add-On" ],
        "summary" : "Delete add-on",
        "description" : "Removes the specified add-on from the property. Returns confirmation of the deletion. Requires INVENTORY:WRITE permission on the property.",
        "operationId" : "remove-add-on",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the add-on",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to delete",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on deleted successfully. Returns deletion confirmation with the removed add-on identifier.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RemoveEntryResponse"
                },
                "example" : {
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "message" : "Property marked as deleted. Can be restored within 30 days.",
                  "success" : true
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/multimedia/list" : {
      "get" : {
        "tags" : [ "Media" ],
        "summary" : "Show all",
        "description" : "List a property's general images and videos, ordered by their configured sort position.",
        "operationId" : "show-media-list",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show media associated with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Ordered list of media records attached to the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
                },
                "example" : {
                  "angle" : null,
                  "attribution" : [ ],
                  "category" : "2",
                  "descriptions" : [ {
                    "description" : "Elegant lobby of The Siam Residences",
                    "language" : "en",
                    "title" : "Lobby Entrance"
                  } ],
                  "height" : 1600,
                  "identifier" : "the-siam-residences/lobby-entrance",
                  "isLandscape" : true,
                  "lifestyleType" : null,
                  "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "published" : true,
                  "sort" : 10,
                  "source" : "CLOUDINARY",
                  "type" : "IMAGE",
                  "width" : 2560
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "Media" ],
        "summary" : "Upsert all",
        "description" : "Save the property's full media collection in one call, creating or updating each entry. Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-media-list",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Save media to the property with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Full ordered list of image and video assets to save for the property, replacing any previously configured order",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the full media collection saved",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Media" ],
        "summary" : "Delete several",
        "description" : "Remove several media records from the property in one call, given their identifiers.",
        "operationId" : "remove-media-list",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Remove selected media for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "multimediaIdentifiers",
          "in" : "query",
          "description" : "Comma-separated list of media identifiers to remove",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the specified media records removed",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          },
          "207" : {
            "description" : "Multi-Status",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/inventory/{inventoryIdentifier}" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "Show",
        "description" : "Returns the single inventory record identified by the given inventory ID, or a 404 error if no such record exists.",
        "operationId" : "show-inventory",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve specified inventory for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "inventoryIdentifier",
          "in" : "path",
          "description" : "The inventory ID to retrieve",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Inventory record matching the given inventory ID",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Inventory_Supplier"
                },
                "example" : {
                  "address" : {
                    "city" : {
                      "country" : {
                        "continent" : "AS",
                        "countryCode" : "TH",
                        "geoNameId" : "1605651",
                        "name" : "Thailand"
                      },
                      "geoNameId" : "1609350",
                      "name" : "Bangkok"
                    },
                    "countryCode" : "TH",
                    "line1" : "9 Thanon Krung Thonburi",
                    "postalCode" : "10600",
                    "state" : "Bangkok"
                  },
                  "bookable" : true,
                  "cityGeoNameId" : "1609350",
                  "cityUrlName" : "bangkok",
                  "commissionable" : true,
                  "continent" : "AS",
                  "countryCode" : "TH",
                  "countryGeoNameId" : "1605651",
                  "createdDate" : "2026-01-14T09:30:00",
                  "enabled" : true,
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "image" : {
                    "descriptions" : [ {
                      "description" : "Spacious deluxe room with panoramic city views",
                      "language" : "en",
                      "title" : "Deluxe City View Room"
                    } ],
                    "identifier" : "the-siam-residences/deluxe-room-city-view",
                    "isLandscape" : true,
                    "multimediaIdentifier" : "2b4d6f8a-0c2e-4a6b-8d0f-2c4e6a8b0d2f",
                    "published" : true,
                    "sort" : 10,
                    "type" : "IMAGE"
                  },
                  "inventoryIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                  "inventoryName" : "Deluxe Room with City View",
                  "inventoryNameInEnglish" : "Deluxe City View Room",
                  "inventoryType" : "GUEST_ROOM",
                  "lastUpdate" : "2026-01-14T09:30:00",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "Point"
                  },
                  "lowestDisplayPrice" : {
                    "amount" : 125.0,
                    "currency" : "USD"
                  },
                  "lowestPrice" : {
                    "amount" : 4500.0,
                    "currency" : "THB"
                  },
                  "pricePoint" : "THREE",
                  "quantity" : 50,
                  "salesChannel" : {
                    "blacklisted" : false,
                    "channelDisabled" : false,
                    "commission" : 15.0,
                    "enabled" : true,
                    "identifier" : "7d2e4f0b-5c1a-4e8d-b3f9-2a6c0d7e1f4b",
                    "ownerIdentifier" : "1a3b5c7d-9e2f-4a0b-8c1d-6e4f0a8b2c51",
                    "percentDiscount" : 0.0,
                    "supplierIdentifier" : "4f8b2c0d-6e1a-4b3c-9d5e-7a0f2c4b6e8d",
                    "supplierName" : "The Siam Residences"
                  },
                  "version" : 1
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Inventory" ],
        "summary" : "Toggle",
        "description" : "Enables or disables a single inventory record identified by the given inventory ID, according to the availability flag in the request body.",
        "operationId" : "toggle-inventory-availability",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to update inventory for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "inventoryIdentifier",
          "in" : "path",
          "description" : "The inventory ID to update",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Update inventory request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InventoryUpdateRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated inventory record after toggling availability",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Inventory_Supplier"
                },
                "example" : {
                  "address" : {
                    "city" : {
                      "country" : {
                        "continent" : "AS",
                        "countryCode" : "TH",
                        "geoNameId" : "1605651",
                        "name" : "Thailand"
                      },
                      "geoNameId" : "1609350",
                      "name" : "Bangkok"
                    },
                    "countryCode" : "TH",
                    "line1" : "9 Thanon Krung Thonburi",
                    "postalCode" : "10600",
                    "state" : "Bangkok"
                  },
                  "bookable" : true,
                  "cityGeoNameId" : "1609350",
                  "cityUrlName" : "bangkok",
                  "commissionable" : true,
                  "continent" : "AS",
                  "countryCode" : "TH",
                  "countryGeoNameId" : "1605651",
                  "createdDate" : "2026-01-14T09:30:00",
                  "enabled" : true,
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "image" : {
                    "descriptions" : [ {
                      "description" : "Spacious deluxe room with panoramic city views",
                      "language" : "en",
                      "title" : "Deluxe City View Room"
                    } ],
                    "identifier" : "the-siam-residences/deluxe-room-city-view",
                    "isLandscape" : true,
                    "multimediaIdentifier" : "2b4d6f8a-0c2e-4a6b-8d0f-2c4e6a8b0d2f",
                    "published" : true,
                    "sort" : 10,
                    "type" : "IMAGE"
                  },
                  "inventoryIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                  "inventoryName" : "Deluxe Room with City View",
                  "inventoryNameInEnglish" : "Deluxe City View Room",
                  "inventoryType" : "GUEST_ROOM",
                  "lastUpdate" : "2026-01-14T09:30:00",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "Point"
                  },
                  "lowestDisplayPrice" : {
                    "amount" : 125.0,
                    "currency" : "USD"
                  },
                  "lowestPrice" : {
                    "amount" : 4500.0,
                    "currency" : "THB"
                  },
                  "pricePoint" : "THREE",
                  "quantity" : 50,
                  "salesChannel" : {
                    "blacklisted" : false,
                    "channelDisabled" : false,
                    "commission" : 15.0,
                    "enabled" : true,
                    "identifier" : "7d2e4f0b-5c1a-4e8d-b3f9-2a6c0d7e1f4b",
                    "ownerIdentifier" : "1a3b5c7d-9e2f-4a0b-8c1d-6e4f0a8b2c51",
                    "percentDiscount" : 0.0,
                    "supplierIdentifier" : "4f8b2c0d-6e1a-4b3c-9d5e-7a0f2c4b6e8d",
                    "supplierName" : "The Siam Residences"
                  },
                  "version" : 1
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/inventory/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "List",
        "description" : "Returns every inventory record whose sales channel is owned by the given property as a flat, unpaged list.",
        "operationId" : "show-inventory-list",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve inventories for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All inventory records for the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Inventory_Supplier"
                  }
                },
                "example" : [ {
                  "address" : {
                    "city" : {
                      "country" : {
                        "continent" : "AS",
                        "countryCode" : "TH",
                        "geoNameId" : "1605651",
                        "name" : "Thailand"
                      },
                      "geoNameId" : "1609350",
                      "name" : "Bangkok"
                    },
                    "countryCode" : "TH",
                    "line1" : "9 Thanon Krung Thonburi",
                    "postalCode" : "10600",
                    "state" : "Bangkok"
                  },
                  "bookable" : true,
                  "cityGeoNameId" : "1609350",
                  "cityUrlName" : "bangkok",
                  "commissionable" : true,
                  "continent" : "AS",
                  "countryCode" : "TH",
                  "countryGeoNameId" : "1605651",
                  "createdDate" : "2026-01-14T09:30:00",
                  "enabled" : true,
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "image" : {
                    "descriptions" : [ {
                      "description" : "Spacious deluxe room with panoramic city views",
                      "language" : "en",
                      "title" : "Deluxe City View Room"
                    } ],
                    "identifier" : "the-siam-residences/deluxe-room-city-view",
                    "isLandscape" : true,
                    "multimediaIdentifier" : "2b4d6f8a-0c2e-4a6b-8d0f-2c4e6a8b0d2f",
                    "published" : true,
                    "sort" : 10,
                    "type" : "IMAGE"
                  },
                  "inventoryIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                  "inventoryName" : "Deluxe Room with City View",
                  "inventoryNameInEnglish" : "Deluxe City View Room",
                  "inventoryType" : "GUEST_ROOM",
                  "lastUpdate" : "2026-01-14T09:30:00",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "Point"
                  },
                  "lowestDisplayPrice" : {
                    "amount" : 125.0,
                    "currency" : "USD"
                  },
                  "lowestPrice" : {
                    "amount" : 4500.0,
                    "currency" : "THB"
                  },
                  "pricePoint" : "THREE",
                  "quantity" : 50,
                  "salesChannel" : {
                    "blacklisted" : false,
                    "channelDisabled" : false,
                    "commission" : 15.0,
                    "enabled" : true,
                    "identifier" : "7d2e4f0b-5c1a-4e8d-b3f9-2a6c0d7e1f4b",
                    "ownerIdentifier" : "1a3b5c7d-9e2f-4a0b-8c1d-6e4f0a8b2c51",
                    "percentDiscount" : 0.0,
                    "supplierIdentifier" : "4f8b2c0d-6e1a-4b3c-9d5e-7a0f2c4b6e8d",
                    "supplierName" : "The Siam Residences"
                  },
                  "version" : 1
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Inventory" ],
        "summary" : "Toggle list",
        "description" : "Enables or disables a batch of inventory records for the given property in one call, based on the availability flags in the supplied update requests.",
        "operationId" : "toggle-inventory-list-availability",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to update inventory for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Update inventories request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/InventoryUpdateRequest_Supplier"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated inventory records after toggling availability",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Inventory_Supplier"
                  }
                },
                "example" : [ {
                  "address" : {
                    "city" : {
                      "country" : {
                        "continent" : "AS",
                        "countryCode" : "TH",
                        "geoNameId" : "1605651",
                        "name" : "Thailand"
                      },
                      "geoNameId" : "1609350",
                      "name" : "Bangkok"
                    },
                    "countryCode" : "TH",
                    "line1" : "9 Thanon Krung Thonburi",
                    "postalCode" : "10600",
                    "state" : "Bangkok"
                  },
                  "bookable" : true,
                  "cityGeoNameId" : "1609350",
                  "cityUrlName" : "bangkok",
                  "commissionable" : true,
                  "continent" : "AS",
                  "countryCode" : "TH",
                  "countryGeoNameId" : "1605651",
                  "createdDate" : "2026-01-14T09:30:00",
                  "enabled" : true,
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "image" : {
                    "descriptions" : [ {
                      "description" : "Spacious deluxe room with panoramic city views",
                      "language" : "en",
                      "title" : "Deluxe City View Room"
                    } ],
                    "identifier" : "the-siam-residences/deluxe-room-city-view",
                    "isLandscape" : true,
                    "multimediaIdentifier" : "2b4d6f8a-0c2e-4a6b-8d0f-2c4e6a8b0d2f",
                    "published" : true,
                    "sort" : 10,
                    "type" : "IMAGE"
                  },
                  "inventoryIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                  "inventoryName" : "Deluxe Room with City View",
                  "inventoryNameInEnglish" : "Deluxe City View Room",
                  "inventoryType" : "GUEST_ROOM",
                  "lastUpdate" : "2026-01-14T09:30:00",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "Point"
                  },
                  "lowestDisplayPrice" : {
                    "amount" : 125.0,
                    "currency" : "USD"
                  },
                  "lowestPrice" : {
                    "amount" : 4500.0,
                    "currency" : "THB"
                  },
                  "pricePoint" : "THREE",
                  "quantity" : 50,
                  "salesChannel" : {
                    "blacklisted" : false,
                    "channelDisabled" : false,
                    "commission" : 15.0,
                    "enabled" : true,
                    "identifier" : "7d2e4f0b-5c1a-4e8d-b3f9-2a6c0d7e1f4b",
                    "ownerIdentifier" : "1a3b5c7d-9e2f-4a0b-8c1d-6e4f0a8b2c51",
                    "percentDiscount" : 0.0,
                    "supplierIdentifier" : "4f8b2c0d-6e1a-4b3c-9d5e-7a0f2c4b6e8d",
                    "supplierName" : "The Siam Residences"
                  },
                  "version" : 1
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/account/{salesChannelIdentifier}" : {
      "get" : {
        "tags" : [ "Sales Channel" ],
        "summary" : "Show",
        "description" : "Returns the single sales channel identified by the given ID, or a 404 error if it cannot be found.",
        "operationId" : "show-sales-channel",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show sales channel owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "salesChannelIdentifier",
          "in" : "path",
          "description" : "Show sales channel with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested sales channel",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SalesChannelLightweight_Supplier"
                },
                "example" : {
                  "blacklisted" : false,
                  "channelDisabled" : false,
                  "commission" : 0.2,
                  "createdDate" : "2026-01-14T09:30:00",
                  "enabled" : true,
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerName" : "The Siam Residences",
                  "percentDiscount" : 0.15,
                  "rateModifierBundles" : [ {
                    "aggregatedItemDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "effectiveDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "items" : [ {
                      "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                      "advanceBookingRateQualifier" : {
                        "maxAdvanceBookingOffset" : 365,
                        "minAdvanceBookingOffset" : 7
                      },
                      "arrivalDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "availableDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "blackoutDates" : [ {
                        "effectiveDate" : "2026-04-13",
                        "expireDate" : "2026-04-15"
                      } ],
                      "cityRateQualifiers" : [ {
                        "city" : {
                          "countryCode" : "TH",
                          "geoNameId" : "1609350",
                          "latitude" : 13.7563,
                          "longitude" : 100.5018,
                          "name" : "Bangkok"
                        }
                      } ],
                      "continentRateQualifiers" : [ {
                        "continent" : "NA"
                      } ],
                      "countryRateQualifiers" : [ {
                        "country" : {
                          "continentCode" : "AS",
                          "geoNameId" : "1609350",
                          "isoAlpha2" : "TH",
                          "isoAlpha3" : "THA",
                          "name" : "Thailand"
                        }
                      } ],
                      "createdDate" : "2026-01-14T09:30:00",
                      "departureDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "enabled" : true,
                      "geoLocationRateQualifiers" : [ {
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "radiusInKilometers" : 50
                      } ],
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "ipRangeRateQualifiers" : [ {
                        "endIPRange" : "192.168.1.255",
                        "startIPRange" : "192.168.1.0"
                      } ],
                      "lastMinuteRateQualifier" : {
                        "seconds" : 1440
                      },
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "lengthOfStayRateQualifier" : {
                        "maxLOS" : 30,
                        "minLOS" : 3
                      },
                      "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                      "modifier" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "name" : "Early bird",
                      "prepayRateQualifier" : {
                        "prepay" : true
                      },
                      "pricingType" : "PER_PERSON_PER_NIGHT",
                      "promotionRateQualifiers" : [ {
                        "promotion" : "EARLYBIRD2026"
                      } ],
                      "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                      "refundableRateQualifier" : {
                        "refundable" : true
                      },
                      "requiredDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "roomRangeRateQualifier" : {
                        "maxRooms" : 4,
                        "minRooms" : 1
                      },
                      "sellDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-05-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "stayDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-06-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "timezoneRateQualifiers" : [ {
                        "timezone" : "Asia/Bangkok"
                      } ],
                      "type" : "DISCOUNT",
                      "version" : 3
                    } ],
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "modifierOverride" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird - Long Term",
                    "pricingType" : "PER_NIGHT",
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "rateModifiers" : [ {
                    "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                    "advanceBookingRateQualifier" : {
                      "maxAdvanceBookingOffset" : 365,
                      "minAdvanceBookingOffset" : 7
                    },
                    "arrivalDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "availableDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "blackoutDates" : [ {
                      "effectiveDate" : "2026-04-13",
                      "expireDate" : "2026-04-15"
                    } ],
                    "cityRateQualifiers" : [ {
                      "city" : {
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "name" : "Bangkok"
                      }
                    } ],
                    "continentRateQualifiers" : [ {
                      "continent" : "NA"
                    } ],
                    "countryRateQualifiers" : [ {
                      "country" : {
                        "continentCode" : "AS",
                        "geoNameId" : "1609350",
                        "isoAlpha2" : "TH",
                        "isoAlpha3" : "THA",
                        "name" : "Thailand"
                      }
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "geoLocationRateQualifiers" : [ {
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "radiusInKilometers" : 50
                    } ],
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "ipRangeRateQualifiers" : [ {
                      "endIPRange" : "192.168.1.255",
                      "startIPRange" : "192.168.1.0"
                    } ],
                    "lastMinuteRateQualifier" : {
                      "seconds" : 1440
                    },
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lengthOfStayRateQualifier" : {
                      "maxLOS" : 30,
                      "minLOS" : 3
                    },
                    "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                    "modifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird",
                    "prepayRateQualifier" : {
                      "prepay" : true
                    },
                    "pricingType" : "PER_PERSON_PER_NIGHT",
                    "promotionRateQualifiers" : [ {
                      "promotion" : "EARLYBIRD2026"
                    } ],
                    "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                    "refundableRateQualifier" : {
                      "refundable" : true
                    },
                    "requiredDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "roomRangeRateQualifier" : {
                      "maxRooms" : 4,
                      "minRooms" : 1
                    },
                    "sellDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-05-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "stayDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-06-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "timezoneRateQualifiers" : [ {
                      "timezone" : "Asia/Bangkok"
                    } ],
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "selfAcquires" : false,
                  "subType" : "DIRECT",
                  "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "supplierName" : "The Siam Residences, Bangkok",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Sales Channel" ],
        "summary" : "Remove",
        "description" : "Permanently deletes the sales channel identified by the given ID and returns the removed channel.",
        "operationId" : "remove-sales-channel",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Remove sales channel owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "salesChannelIdentifier",
          "in" : "path",
          "description" : "Remove sales channel with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The deleted sales channel",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SalesChannelLightweight_Supplier"
                },
                "example" : {
                  "blacklisted" : false,
                  "channelDisabled" : false,
                  "commission" : 0.2,
                  "createdDate" : "2026-01-14T09:30:00",
                  "enabled" : true,
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerName" : "The Siam Residences",
                  "percentDiscount" : 0.15,
                  "rateModifierBundles" : [ {
                    "aggregatedItemDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "effectiveDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "items" : [ {
                      "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                      "advanceBookingRateQualifier" : {
                        "maxAdvanceBookingOffset" : 365,
                        "minAdvanceBookingOffset" : 7
                      },
                      "arrivalDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "availableDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "blackoutDates" : [ {
                        "effectiveDate" : "2026-04-13",
                        "expireDate" : "2026-04-15"
                      } ],
                      "cityRateQualifiers" : [ {
                        "city" : {
                          "countryCode" : "TH",
                          "geoNameId" : "1609350",
                          "latitude" : 13.7563,
                          "longitude" : 100.5018,
                          "name" : "Bangkok"
                        }
                      } ],
                      "continentRateQualifiers" : [ {
                        "continent" : "NA"
                      } ],
                      "countryRateQualifiers" : [ {
                        "country" : {
                          "continentCode" : "AS",
                          "geoNameId" : "1609350",
                          "isoAlpha2" : "TH",
                          "isoAlpha3" : "THA",
                          "name" : "Thailand"
                        }
                      } ],
                      "createdDate" : "2026-01-14T09:30:00",
                      "departureDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "enabled" : true,
                      "geoLocationRateQualifiers" : [ {
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "radiusInKilometers" : 50
                      } ],
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "ipRangeRateQualifiers" : [ {
                        "endIPRange" : "192.168.1.255",
                        "startIPRange" : "192.168.1.0"
                      } ],
                      "lastMinuteRateQualifier" : {
                        "seconds" : 1440
                      },
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "lengthOfStayRateQualifier" : {
                        "maxLOS" : 30,
                        "minLOS" : 3
                      },
                      "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                      "modifier" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "name" : "Early bird",
                      "prepayRateQualifier" : {
                        "prepay" : true
                      },
                      "pricingType" : "PER_PERSON_PER_NIGHT",
                      "promotionRateQualifiers" : [ {
                        "promotion" : "EARLYBIRD2026"
                      } ],
                      "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                      "refundableRateQualifier" : {
                        "refundable" : true
                      },
                      "requiredDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "roomRangeRateQualifier" : {
                        "maxRooms" : 4,
                        "minRooms" : 1
                      },
                      "sellDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-05-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "stayDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-06-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "timezoneRateQualifiers" : [ {
                        "timezone" : "Asia/Bangkok"
                      } ],
                      "type" : "DISCOUNT",
                      "version" : 3
                    } ],
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "modifierOverride" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird - Long Term",
                    "pricingType" : "PER_NIGHT",
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "rateModifiers" : [ {
                    "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                    "advanceBookingRateQualifier" : {
                      "maxAdvanceBookingOffset" : 365,
                      "minAdvanceBookingOffset" : 7
                    },
                    "arrivalDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "availableDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "blackoutDates" : [ {
                      "effectiveDate" : "2026-04-13",
                      "expireDate" : "2026-04-15"
                    } ],
                    "cityRateQualifiers" : [ {
                      "city" : {
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "name" : "Bangkok"
                      }
                    } ],
                    "continentRateQualifiers" : [ {
                      "continent" : "NA"
                    } ],
                    "countryRateQualifiers" : [ {
                      "country" : {
                        "continentCode" : "AS",
                        "geoNameId" : "1609350",
                        "isoAlpha2" : "TH",
                        "isoAlpha3" : "THA",
                        "name" : "Thailand"
                      }
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "geoLocationRateQualifiers" : [ {
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "radiusInKilometers" : 50
                    } ],
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "ipRangeRateQualifiers" : [ {
                      "endIPRange" : "192.168.1.255",
                      "startIPRange" : "192.168.1.0"
                    } ],
                    "lastMinuteRateQualifier" : {
                      "seconds" : 1440
                    },
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lengthOfStayRateQualifier" : {
                      "maxLOS" : 30,
                      "minLOS" : 3
                    },
                    "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                    "modifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird",
                    "prepayRateQualifier" : {
                      "prepay" : true
                    },
                    "pricingType" : "PER_PERSON_PER_NIGHT",
                    "promotionRateQualifiers" : [ {
                      "promotion" : "EARLYBIRD2026"
                    } ],
                    "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                    "refundableRateQualifier" : {
                      "refundable" : true
                    },
                    "requiredDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "roomRangeRateQualifier" : {
                      "maxRooms" : 4,
                      "minRooms" : 1
                    },
                    "sellDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-05-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "stayDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-06-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "timezoneRateQualifiers" : [ {
                      "timezone" : "Asia/Bangkok"
                    } ],
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "selfAcquires" : false,
                  "subType" : "DIRECT",
                  "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "supplierName" : "The Siam Residences, Bangkok",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Sales Channel" ],
        "summary" : "Update",
        "description" : "Updates the configuration of the sales channel identified by the given ID for the given property from the supplied request. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-sales-channel",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update sales channel owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "salesChannelIdentifier",
          "in" : "path",
          "description" : "Update sales channel settings for sales channel with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The sales channel's last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Sales channel update payload containing revised name, commission terms, currency, enabled inventory types, and any promo or rate-modifier overrides",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SalesChannelUpdateRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The updated sales channel",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SalesChannelLightweight_Supplier"
                },
                "example" : {
                  "blacklisted" : false,
                  "channelDisabled" : false,
                  "commission" : 0.2,
                  "createdDate" : "2026-01-14T09:30:00",
                  "enabled" : true,
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerName" : "The Siam Residences",
                  "percentDiscount" : 0.15,
                  "rateModifierBundles" : [ {
                    "aggregatedItemDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "effectiveDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "items" : [ {
                      "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                      "advanceBookingRateQualifier" : {
                        "maxAdvanceBookingOffset" : 365,
                        "minAdvanceBookingOffset" : 7
                      },
                      "arrivalDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "availableDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "blackoutDates" : [ {
                        "effectiveDate" : "2026-04-13",
                        "expireDate" : "2026-04-15"
                      } ],
                      "cityRateQualifiers" : [ {
                        "city" : {
                          "countryCode" : "TH",
                          "geoNameId" : "1609350",
                          "latitude" : 13.7563,
                          "longitude" : 100.5018,
                          "name" : "Bangkok"
                        }
                      } ],
                      "continentRateQualifiers" : [ {
                        "continent" : "NA"
                      } ],
                      "countryRateQualifiers" : [ {
                        "country" : {
                          "continentCode" : "AS",
                          "geoNameId" : "1609350",
                          "isoAlpha2" : "TH",
                          "isoAlpha3" : "THA",
                          "name" : "Thailand"
                        }
                      } ],
                      "createdDate" : "2026-01-14T09:30:00",
                      "departureDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "enabled" : true,
                      "geoLocationRateQualifiers" : [ {
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "radiusInKilometers" : 50
                      } ],
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "ipRangeRateQualifiers" : [ {
                        "endIPRange" : "192.168.1.255",
                        "startIPRange" : "192.168.1.0"
                      } ],
                      "lastMinuteRateQualifier" : {
                        "seconds" : 1440
                      },
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "lengthOfStayRateQualifier" : {
                        "maxLOS" : 30,
                        "minLOS" : 3
                      },
                      "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                      "modifier" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "name" : "Early bird",
                      "prepayRateQualifier" : {
                        "prepay" : true
                      },
                      "pricingType" : "PER_PERSON_PER_NIGHT",
                      "promotionRateQualifiers" : [ {
                        "promotion" : "EARLYBIRD2026"
                      } ],
                      "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                      "refundableRateQualifier" : {
                        "refundable" : true
                      },
                      "requiredDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "roomRangeRateQualifier" : {
                        "maxRooms" : 4,
                        "minRooms" : 1
                      },
                      "sellDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-05-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "stayDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-06-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "timezoneRateQualifiers" : [ {
                        "timezone" : "Asia/Bangkok"
                      } ],
                      "type" : "DISCOUNT",
                      "version" : 3
                    } ],
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "modifierOverride" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird - Long Term",
                    "pricingType" : "PER_NIGHT",
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "rateModifiers" : [ {
                    "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                    "advanceBookingRateQualifier" : {
                      "maxAdvanceBookingOffset" : 365,
                      "minAdvanceBookingOffset" : 7
                    },
                    "arrivalDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "availableDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "blackoutDates" : [ {
                      "effectiveDate" : "2026-04-13",
                      "expireDate" : "2026-04-15"
                    } ],
                    "cityRateQualifiers" : [ {
                      "city" : {
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "name" : "Bangkok"
                      }
                    } ],
                    "continentRateQualifiers" : [ {
                      "continent" : "NA"
                    } ],
                    "countryRateQualifiers" : [ {
                      "country" : {
                        "continentCode" : "AS",
                        "geoNameId" : "1609350",
                        "isoAlpha2" : "TH",
                        "isoAlpha3" : "THA",
                        "name" : "Thailand"
                      }
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "geoLocationRateQualifiers" : [ {
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "radiusInKilometers" : 50
                    } ],
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "ipRangeRateQualifiers" : [ {
                      "endIPRange" : "192.168.1.255",
                      "startIPRange" : "192.168.1.0"
                    } ],
                    "lastMinuteRateQualifier" : {
                      "seconds" : 1440
                    },
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lengthOfStayRateQualifier" : {
                      "maxLOS" : 30,
                      "minLOS" : 3
                    },
                    "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                    "modifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird",
                    "prepayRateQualifier" : {
                      "prepay" : true
                    },
                    "pricingType" : "PER_PERSON_PER_NIGHT",
                    "promotionRateQualifiers" : [ {
                      "promotion" : "EARLYBIRD2026"
                    } ],
                    "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                    "refundableRateQualifier" : {
                      "refundable" : true
                    },
                    "requiredDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "roomRangeRateQualifier" : {
                      "maxRooms" : 4,
                      "minRooms" : 1
                    },
                    "sellDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-05-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "stayDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-06-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "timezoneRateQualifiers" : [ {
                      "timezone" : "Asia/Bangkok"
                    } ],
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "selfAcquires" : false,
                  "subType" : "DIRECT",
                  "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "supplierName" : "The Siam Residences, Bangkok",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/account/rate-modifier/{rateModifierIdentifier}/list" : {
      "get" : {
        "tags" : [ "Sales Channel" ],
        "summary" : "Modifier pairs",
        "description" : "Returns the property's sales channels as selectable key/value pairs, each flagged to show whether the given rate modifier (promo) is currently enabled on that channel.",
        "operationId" : "show-sales-channel-context-rate-modifier-pairs",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show all sales channel pairs for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "rateModifierIdentifier",
          "in" : "path",
          "description" : "Show all sales channels pairs in the context of rate modifier availability",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Selectable key/value pairs showing rate modifier availability per sales channel",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SelectableKeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Free WiFi",
                  "selected" : true,
                  "value" : "free-wifi"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Sales Channel" ],
        "summary" : "Toggle modifier",
        "description" : "Enables or disables the given rate modifier (promo) across a batch of the property's sales channels in one call, based on the supplied update requests.",
        "operationId" : "toggle-sales-channel-promo-availability",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update sales channel owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "rateModifierIdentifier",
          "in" : "path",
          "description" : "The rate modifier we are enabling / disabling on the sales channel",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "List of sales channel update requests each identifying a channel and the desired enabled/disabled state for the specified rate modifier",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/InventoryUpdateRequest_Supplier"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated list of sales channels after toggling rate modifier availability",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SalesChannelLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "blacklisted" : false,
                  "channelDisabled" : false,
                  "commission" : 0.2,
                  "createdDate" : "2026-01-14T09:30:00",
                  "enabled" : true,
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerName" : "The Siam Residences",
                  "percentDiscount" : 0.15,
                  "rateModifierBundles" : [ {
                    "aggregatedItemDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "effectiveDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "items" : [ {
                      "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                      "advanceBookingRateQualifier" : {
                        "maxAdvanceBookingOffset" : 365,
                        "minAdvanceBookingOffset" : 7
                      },
                      "arrivalDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "availableDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "blackoutDates" : [ {
                        "effectiveDate" : "2026-04-13",
                        "expireDate" : "2026-04-15"
                      } ],
                      "cityRateQualifiers" : [ {
                        "city" : {
                          "countryCode" : "TH",
                          "geoNameId" : "1609350",
                          "latitude" : 13.7563,
                          "longitude" : 100.5018,
                          "name" : "Bangkok"
                        }
                      } ],
                      "continentRateQualifiers" : [ {
                        "continent" : "NA"
                      } ],
                      "countryRateQualifiers" : [ {
                        "country" : {
                          "continentCode" : "AS",
                          "geoNameId" : "1609350",
                          "isoAlpha2" : "TH",
                          "isoAlpha3" : "THA",
                          "name" : "Thailand"
                        }
                      } ],
                      "createdDate" : "2026-01-14T09:30:00",
                      "departureDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "enabled" : true,
                      "geoLocationRateQualifiers" : [ {
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "radiusInKilometers" : 50
                      } ],
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "ipRangeRateQualifiers" : [ {
                        "endIPRange" : "192.168.1.255",
                        "startIPRange" : "192.168.1.0"
                      } ],
                      "lastMinuteRateQualifier" : {
                        "seconds" : 1440
                      },
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "lengthOfStayRateQualifier" : {
                        "maxLOS" : 30,
                        "minLOS" : 3
                      },
                      "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                      "modifier" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "name" : "Early bird",
                      "prepayRateQualifier" : {
                        "prepay" : true
                      },
                      "pricingType" : "PER_PERSON_PER_NIGHT",
                      "promotionRateQualifiers" : [ {
                        "promotion" : "EARLYBIRD2026"
                      } ],
                      "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                      "refundableRateQualifier" : {
                        "refundable" : true
                      },
                      "requiredDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "roomRangeRateQualifier" : {
                        "maxRooms" : 4,
                        "minRooms" : 1
                      },
                      "sellDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-05-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "stayDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-06-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "timezoneRateQualifiers" : [ {
                        "timezone" : "Asia/Bangkok"
                      } ],
                      "type" : "DISCOUNT",
                      "version" : 3
                    } ],
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "modifierOverride" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird - Long Term",
                    "pricingType" : "PER_NIGHT",
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "rateModifiers" : [ {
                    "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                    "advanceBookingRateQualifier" : {
                      "maxAdvanceBookingOffset" : 365,
                      "minAdvanceBookingOffset" : 7
                    },
                    "arrivalDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "availableDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "blackoutDates" : [ {
                      "effectiveDate" : "2026-04-13",
                      "expireDate" : "2026-04-15"
                    } ],
                    "cityRateQualifiers" : [ {
                      "city" : {
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "name" : "Bangkok"
                      }
                    } ],
                    "continentRateQualifiers" : [ {
                      "continent" : "NA"
                    } ],
                    "countryRateQualifiers" : [ {
                      "country" : {
                        "continentCode" : "AS",
                        "geoNameId" : "1609350",
                        "isoAlpha2" : "TH",
                        "isoAlpha3" : "THA",
                        "name" : "Thailand"
                      }
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "geoLocationRateQualifiers" : [ {
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "radiusInKilometers" : 50
                    } ],
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "ipRangeRateQualifiers" : [ {
                      "endIPRange" : "192.168.1.255",
                      "startIPRange" : "192.168.1.0"
                    } ],
                    "lastMinuteRateQualifier" : {
                      "seconds" : 1440
                    },
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lengthOfStayRateQualifier" : {
                      "maxLOS" : 30,
                      "minLOS" : 3
                    },
                    "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                    "modifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird",
                    "prepayRateQualifier" : {
                      "prepay" : true
                    },
                    "pricingType" : "PER_PERSON_PER_NIGHT",
                    "promotionRateQualifiers" : [ {
                      "promotion" : "EARLYBIRD2026"
                    } ],
                    "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                    "refundableRateQualifier" : {
                      "refundable" : true
                    },
                    "requiredDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "roomRangeRateQualifier" : {
                      "maxRooms" : 4,
                      "minRooms" : 1
                    },
                    "sellDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-05-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "stayDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-06-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "timezoneRateQualifiers" : [ {
                      "timezone" : "Asia/Bangkok"
                    } ],
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "selfAcquires" : false,
                  "subType" : "DIRECT",
                  "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "supplierName" : "The Siam Residences, Bangkok",
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/account/rate-modifier-bundle/{rateModifierBundleIdentifier}/list" : {
      "get" : {
        "tags" : [ "Sales Channel" ],
        "summary" : "Bundle pairs",
        "description" : "Returns the property's sales channels as selectable key/value pairs, each flagged to show whether the given rate modifier bundle (promo bundle) is currently enabled on that channel.",
        "operationId" : "show-sales-channel-context-rate-modifier-bundle-pairs",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show all sales channel pairs for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "rateModifierBundleIdentifier",
          "in" : "path",
          "description" : "Show all sales channels pairs in the context of rate modifier bundle availability",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Selectable key/value pairs showing rate modifier bundle availability per sales channel",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SelectableKeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Free WiFi",
                  "selected" : true,
                  "value" : "free-wifi"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Sales Channel" ],
        "summary" : "Toggle bundle",
        "description" : "Enables or disables the given rate modifier bundle (promo bundle) across a batch of the property's sales channels in one call, based on the supplied update requests.",
        "operationId" : "toggle-sales-channel-promo-bundle-availability",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update sales channel owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "rateModifierBundleIdentifier",
          "in" : "path",
          "description" : "The rate modifier bundle we are enabling / disabling on the sales channel",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "List of sales channel update requests each identifying a channel and the desired enabled/disabled state for the specified rate modifier bundle",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/InventoryUpdateRequest_Supplier"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated list of sales channels after toggling rate modifier bundle availability",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SalesChannelLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "blacklisted" : false,
                  "channelDisabled" : false,
                  "commission" : 0.2,
                  "createdDate" : "2026-01-14T09:30:00",
                  "enabled" : true,
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerName" : "The Siam Residences",
                  "percentDiscount" : 0.15,
                  "rateModifierBundles" : [ {
                    "aggregatedItemDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "effectiveDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "items" : [ {
                      "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                      "advanceBookingRateQualifier" : {
                        "maxAdvanceBookingOffset" : 365,
                        "minAdvanceBookingOffset" : 7
                      },
                      "arrivalDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "availableDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "blackoutDates" : [ {
                        "effectiveDate" : "2026-04-13",
                        "expireDate" : "2026-04-15"
                      } ],
                      "cityRateQualifiers" : [ {
                        "city" : {
                          "countryCode" : "TH",
                          "geoNameId" : "1609350",
                          "latitude" : 13.7563,
                          "longitude" : 100.5018,
                          "name" : "Bangkok"
                        }
                      } ],
                      "continentRateQualifiers" : [ {
                        "continent" : "NA"
                      } ],
                      "countryRateQualifiers" : [ {
                        "country" : {
                          "continentCode" : "AS",
                          "geoNameId" : "1609350",
                          "isoAlpha2" : "TH",
                          "isoAlpha3" : "THA",
                          "name" : "Thailand"
                        }
                      } ],
                      "createdDate" : "2026-01-14T09:30:00",
                      "departureDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "enabled" : true,
                      "geoLocationRateQualifiers" : [ {
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "radiusInKilometers" : 50
                      } ],
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "ipRangeRateQualifiers" : [ {
                        "endIPRange" : "192.168.1.255",
                        "startIPRange" : "192.168.1.0"
                      } ],
                      "lastMinuteRateQualifier" : {
                        "seconds" : 1440
                      },
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "lengthOfStayRateQualifier" : {
                        "maxLOS" : 30,
                        "minLOS" : 3
                      },
                      "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                      "modifier" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "name" : "Early bird",
                      "prepayRateQualifier" : {
                        "prepay" : true
                      },
                      "pricingType" : "PER_PERSON_PER_NIGHT",
                      "promotionRateQualifiers" : [ {
                        "promotion" : "EARLYBIRD2026"
                      } ],
                      "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                      "refundableRateQualifier" : {
                        "refundable" : true
                      },
                      "requiredDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "roomRangeRateQualifier" : {
                        "maxRooms" : 4,
                        "minRooms" : 1
                      },
                      "sellDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-05-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "stayDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-06-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "timezoneRateQualifiers" : [ {
                        "timezone" : "Asia/Bangkok"
                      } ],
                      "type" : "DISCOUNT",
                      "version" : 3
                    } ],
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "modifierOverride" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird - Long Term",
                    "pricingType" : "PER_NIGHT",
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "rateModifiers" : [ {
                    "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                    "advanceBookingRateQualifier" : {
                      "maxAdvanceBookingOffset" : 365,
                      "minAdvanceBookingOffset" : 7
                    },
                    "arrivalDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "availableDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "blackoutDates" : [ {
                      "effectiveDate" : "2026-04-13",
                      "expireDate" : "2026-04-15"
                    } ],
                    "cityRateQualifiers" : [ {
                      "city" : {
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "name" : "Bangkok"
                      }
                    } ],
                    "continentRateQualifiers" : [ {
                      "continent" : "NA"
                    } ],
                    "countryRateQualifiers" : [ {
                      "country" : {
                        "continentCode" : "AS",
                        "geoNameId" : "1609350",
                        "isoAlpha2" : "TH",
                        "isoAlpha3" : "THA",
                        "name" : "Thailand"
                      }
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "geoLocationRateQualifiers" : [ {
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "radiusInKilometers" : 50
                    } ],
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "ipRangeRateQualifiers" : [ {
                      "endIPRange" : "192.168.1.255",
                      "startIPRange" : "192.168.1.0"
                    } ],
                    "lastMinuteRateQualifier" : {
                      "seconds" : 1440
                    },
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lengthOfStayRateQualifier" : {
                      "maxLOS" : 30,
                      "minLOS" : 3
                    },
                    "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                    "modifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird",
                    "prepayRateQualifier" : {
                      "prepay" : true
                    },
                    "pricingType" : "PER_PERSON_PER_NIGHT",
                    "promotionRateQualifiers" : [ {
                      "promotion" : "EARLYBIRD2026"
                    } ],
                    "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                    "refundableRateQualifier" : {
                      "refundable" : true
                    },
                    "requiredDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "roomRangeRateQualifier" : {
                      "maxRooms" : 4,
                      "minRooms" : 1
                    },
                    "sellDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-05-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "stayDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-06-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "timezoneRateQualifiers" : [ {
                      "timezone" : "Asia/Bangkok"
                    } ],
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "selfAcquires" : false,
                  "subType" : "DIRECT",
                  "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "supplierName" : "The Siam Residences, Bangkok",
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/social-networks" : {
      "get" : {
        "tags" : [ "Social Network" ],
        "summary" : "Show",
        "description" : "Returns the property's configured social network links, or an empty set when none are set.",
        "operationId" : "show-social-networks",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show Social Networks associated with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Social network links configured for the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SocialNetworksResponse_Supplier"
                },
                "example" : {
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "list" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  }, {
                    "location" : "https://www.facebook.com/thesiamresidences",
                    "type" : "FACEBOOK"
                  } ]
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Social Network" ],
        "summary" : "Update",
        "description" : "Replaces the property's social network links with the supplied set. Refer to [Social Networks](#tag/Social-Networks) for a list of all supported social networks. Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-socials",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Set social networks for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Complete set of social network links (e.g. Facebook, Instagram, Twitter) to assign to the property, replacing any existing configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SocialNetworksRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the new social network links applied",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/schedule/{inventoryIdentifier}/list" : {
      "get" : {
        "tags" : [ "Scheduler" ],
        "summary" : "List schedule items by date range",
        "description" : "Returns all calendar items for a piece of inventory (meeting room, restaurant, spa, activity, attraction or place) that fall within the requested start and end date range. This operation is useful for displaying a calendar view of availability and bookings.",
        "operationId" : "show-schedule-items",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Identifier of the managing entity (property/company) that owns the inventory",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "inventoryIdentifier",
          "in" : "path",
          "description" : "Identifier of the travel inventory (meeting room, restaurant, spa, activity, attraction, or place) to fetch schedules for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43"
        }, {
          "name" : "start",
          "in" : "query",
          "description" : "Start of date range in ISO-8601 format (e.g., 2026-02-15T14:00:00)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2026-02-15T14:00:00"
        }, {
          "name" : "end",
          "in" : "query",
          "description" : "End of date range in ISO-8601 format (e.g., 2026-02-15T15:30:00)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "date-time"
          },
          "example" : "2026-02-15T15:30:00"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "List of schedule items within the specified date range",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ScheduleItemLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "attendees" : 2,
                  "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                  "bookingOwnerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "brandName" : "The Siam Residences",
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "created" : "2026-01-14T09:30:00",
                  "createdDate" : "2026-01-14T09:30:00",
                  "description" : "Reservation for Jane Doe - 2 PAX",
                  "email" : "reservations@thesiamresidences.com",
                  "emailHeaderLogoUrl" : "https://res.cloudinary.com/wink/image/upload/v1/branding/the-siam-residences-logo.png",
                  "end" : "2026-02-15T15:30:00",
                  "endTimezone" : "Asia/Bangkok",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "isAllDay" : true,
                  "language" : "en",
                  "lastModified" : "2026-02-03T16:45:12",
                  "lastName" : "Beaumont",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "localizedVenueName" : "ห้องอาหารหลัก",
                  "logoIdentifier" : "the-siam-residences-logo",
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "recurrenceException" : [ "2026-02-16T14:00:00", "2026-02-18T14:00:00" ],
                  "recurrenceId" : "a2d5f8b1-1c4e-4d7a-8b3f-2e9a0c6b5d41",
                  "recurrenceRule" : "FREQ=DAILY;COUNT=5",
                  "sequence" : 0,
                  "start" : "2026-02-15T14:00:00",
                  "startTimezone" : "Asia/Bangkok",
                  "title" : "Jane Doe +1",
                  "type" : "MEETING_ROOM",
                  "venueName" : "The Siam Residences Dining Hall",
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sandbox/channel/list" : {
      "get" : {
        "tags" : [ "Daily Rate" ],
        "summary" : "List channels",
        "description" : "Returns the property's sales channels as selectable options so you can choose which one to run rate and availability tests against.",
        "operationId" : "show-channels",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Display existing sales channels for property ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "hotel-1"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ChannelName_Supplier"
                  }
                },
                "example" : [ {
                  "name" : "The Siam Residences - Direct Channel",
                  "ownerIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "propertyIdentifier" : "the-siam-residences",
                  "subType" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/meeting-room/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "List meeting rooms",
        "description" : "Returns the property's meeting rooms as id/name key-value pairs, suitable for attaching meeting-room inventory to a sales channel.",
        "operationId" : "show-channel-meeting-rooms",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve meeting rooms for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting rooms for the property as id/name pairs",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/master-rate/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "List master rates",
        "description" : "Returns the property's master rates as id/name key-value pairs, suitable for selecting a master rate when configuring inventory.",
        "operationId" : "show-master-rates",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve master rates for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Master rates for the property as id/name pairs",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/inventory/{inventoryTypeIdentifier}/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "Show by channel",
        "description" : "Returns the same underlying inventory item as it is offered across each sales channel, one selectable key/value pair per channel (labelled by channel owner and flagged enabled/disabled), sorted by label.",
        "operationId" : "show-sales-channel-list-by-inventory",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve sales channels for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "inventoryTypeIdentifier",
          "in" : "path",
          "description" : "The inventory type ID to retrieve sales channel for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Sales channels carrying the given inventory item, each with its enabled/disabled state",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SelectableKeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Free WiFi",
                  "selected" : true,
                  "value" : "free-wifi"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/inventory/type/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "Show all types",
        "description" : "Returns the distinct inventory types configured for the given property, e.g. GUEST_ROOM or MEETING_ROOM, derived from its existing inventory records.",
        "operationId" : "show-inventory-types",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve inventory types for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Distinct inventory types for the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "description" : "Type of sellable travel inventory on the Wink platform",
                    "enum" : [ "GUEST_ROOM", "ADD_ON", "MEETING_ROOM", "RESTAURANT", "SPA", "ATTRACTION", "PLACE", "ACTIVITY" ],
                    "example" : "GUEST_ROOM"
                  }
                },
                "example" : [ "GUEST_ROOM" ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/inventory/name/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "Show names",
        "description" : "Returns the list of distinct inventory names belonging to the given property, useful for populating filters and pickers.",
        "operationId" : "show-inventory-names",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve inventory names for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Distinct inventory names for the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  }
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/facility/spa/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "List spas",
        "description" : "Returns the property's spas as id/name key-value pairs, suitable for attaching spa inventory to a sales channel.",
        "operationId" : "show-channel-spas",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve spas for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Spas for the property as id/name pairs",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/facility/restaurant/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "List restaurants",
        "description" : "Returns the property's restaurants as id/name key-value pairs, suitable for attaching restaurant inventory to a sales channel.",
        "operationId" : "show-channel-restaurants",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve restaurants for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Restaurants for the property as id/name pairs",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/experience/place/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "List places",
        "description" : "Returns the property's places as id/name key-value pairs, suitable for attaching place inventory to a sales channel.",
        "operationId" : "show-channel-places",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve places for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Places for the property as id/name pairs",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/experience/attraction/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "List attractions",
        "description" : "Returns the property's attractions as id/name key-value pairs, suitable for attaching attraction inventory to a sales channel.",
        "operationId" : "show-channel-attractions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve attractions for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attractions for the property as id/name pairs",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/experience/activity/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "List activities",
        "description" : "Returns the property's activities as id/name key-value pairs, suitable for attaching activity inventory to a sales channel.",
        "operationId" : "show-channel-activities",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve activities for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Activities for the property as id/name pairs",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/affiliate/{affiliateManagingEntityIdentifier}" : {
      "get" : {
        "tags" : [ "Affiliate" ],
        "summary" : "Show one",
        "description" : "Retrieve a single affiliate's company details and booking sales metrics by identifier.",
        "operationId" : "show-affiliate",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Managing entity identifier (UUID)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "affiliateManagingEntityIdentifier",
          "in" : "path",
          "description" : "Affiliate managing entity identifier (UUID)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Company details and booking sales metrics for the requested affiliate",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CompanyDetailsBookingSalesMetrics_Authenticated_Entity"
                },
                "example" : {
                  "byCountryList" : [ {
                    "averageBookingAmount" : 450.0,
                    "bookings" : 120,
                    "currencyCode" : "USD",
                    "totalPriceAmount" : 54000.0,
                    "type" : "BY_COUNTRY",
                    "typeIdentifier" : "6f9e4d8a-1b5c-7d3e-0f2a-9c7d3e1f5a84",
                    "typeName" : "Thailand"
                  } ],
                  "byPropertyList" : [ {
                    "averageBookingAmount" : 450.0,
                    "bookings" : 85,
                    "currencyCode" : "USD",
                    "totalPriceAmount" : 38250.0,
                    "type" : "BY_PROPERTY",
                    "typeIdentifier" : "5e8d3c7f-0a4b-6c2d-9e1f-8b6c2d0e4f73",
                    "typeName" : "The Siam Residences, Bangkok"
                  } ],
                  "managingEntity" : {
                    "annualTravelSpendInDollars" : null,
                    "city" : {
                      "key" : "1609350",
                      "value" : "Bangkok"
                    },
                    "continent" : {
                      "key" : "AS",
                      "value" : "AS"
                    },
                    "country" : {
                      "key" : "1605651",
                      "value" : "Thailand"
                    },
                    "createdDate" : "2026-01-15T10:30:00",
                    "description" : "Luxury boutique property on the Chao Phraya River.",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "lastUpdate" : "2026-06-20T08:00:00",
                    "name" : "The Siam Residences",
                    "onlinePresence" : [ ],
                    "ownerImageId" : "v1/property/the-siam-residences.jpg",
                    "ownerName" : "Alexandra Beaumont",
                    "status" : "ACTIVE",
                    "travelAgent" : null,
                    "type" : "HOTEL",
                    "uniqueId" : "siam-bkk",
                    "urlName" : "the-siam-residences"
                  },
                  "total" : {
                    "averageBookingAmount" : 450.0,
                    "bookings" : 120,
                    "currencyCode" : "USD",
                    "totalPriceAmount" : 54000.0,
                    "type" : "BY_TOTAL",
                    "typeIdentifier" : "4d7c2b6e-9f3a-5b1c-8d0e-7a5b1c9d3e62",
                    "typeName" : "All Properties"
                  }
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/add-on/list" : {
      "get" : {
        "tags" : [ "Inventory" ],
        "summary" : "List add-ons",
        "description" : "Returns the property's add-ons as id/name key-value pairs, suitable for attaching add-on inventory to a sales channel.",
        "operationId" : "show-channel-add-ons",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve add-ons for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-ons for the property as id/name pairs",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/account/list" : {
      "get" : {
        "tags" : [ "Sales Channel" ],
        "summary" : "List",
        "description" : "Returns all sales channels owned by the given property, covering both generic channels and specific affiliate relationships.",
        "operationId" : "show-accounts",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show all sales channels for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "List of all sales channels for the given property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SalesChannelLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "blacklisted" : false,
                  "channelDisabled" : false,
                  "commission" : 0.2,
                  "createdDate" : "2026-01-14T09:30:00",
                  "enabled" : true,
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerName" : "The Siam Residences",
                  "percentDiscount" : 0.15,
                  "rateModifierBundles" : [ {
                    "aggregatedItemDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "effectiveDescriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "items" : [ {
                      "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                      "advanceBookingRateQualifier" : {
                        "maxAdvanceBookingOffset" : 365,
                        "minAdvanceBookingOffset" : 7
                      },
                      "arrivalDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "availableDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "blackoutDates" : [ {
                        "effectiveDate" : "2026-04-13",
                        "expireDate" : "2026-04-15"
                      } ],
                      "cityRateQualifiers" : [ {
                        "city" : {
                          "countryCode" : "TH",
                          "geoNameId" : "1609350",
                          "latitude" : 13.7563,
                          "longitude" : 100.5018,
                          "name" : "Bangkok"
                        }
                      } ],
                      "continentRateQualifiers" : [ {
                        "continent" : "NA"
                      } ],
                      "countryRateQualifiers" : [ {
                        "country" : {
                          "continentCode" : "AS",
                          "geoNameId" : "1609350",
                          "isoAlpha2" : "TH",
                          "isoAlpha3" : "THA",
                          "name" : "Thailand"
                        }
                      } ],
                      "createdDate" : "2026-01-14T09:30:00",
                      "departureDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "enabled" : true,
                      "geoLocationRateQualifiers" : [ {
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "radiusInKilometers" : 50
                      } ],
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "ipRangeRateQualifiers" : [ {
                        "endIPRange" : "192.168.1.255",
                        "startIPRange" : "192.168.1.0"
                      } ],
                      "lastMinuteRateQualifier" : {
                        "seconds" : 1440
                      },
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "lengthOfStayRateQualifier" : {
                        "maxLOS" : 30,
                        "minLOS" : 3
                      },
                      "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                      "modifier" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "name" : "Early bird",
                      "prepayRateQualifier" : {
                        "prepay" : true
                      },
                      "pricingType" : "PER_PERSON_PER_NIGHT",
                      "promotionRateQualifiers" : [ {
                        "promotion" : "EARLYBIRD2026"
                      } ],
                      "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                      "refundableRateQualifier" : {
                        "refundable" : true
                      },
                      "requiredDaysOfWeekRateQualifier" : {
                        "daysOfWeek" : {
                          "disabled" : true,
                          "fri" : true,
                          "mon" : true,
                          "sat" : true,
                          "sun" : true,
                          "thu" : true,
                          "tue" : true,
                          "wed" : true
                        }
                      },
                      "roomRangeRateQualifier" : {
                        "maxRooms" : 4,
                        "minRooms" : 1
                      },
                      "sellDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-05-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "stayDateRateQualifiers" : [ {
                        "effectiveDate" : "2026-06-01",
                        "expireDate" : "2026-08-31"
                      } ],
                      "timezoneRateQualifiers" : [ {
                        "timezone" : "Asia/Bangkok"
                      } ],
                      "type" : "DISCOUNT",
                      "version" : 3
                    } ],
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "modifierOverride" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird - Long Term",
                    "pricingType" : "PER_NIGHT",
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "rateModifiers" : [ {
                    "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                    "advanceBookingRateQualifier" : {
                      "maxAdvanceBookingOffset" : 365,
                      "minAdvanceBookingOffset" : 7
                    },
                    "arrivalDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "availableDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "blackoutDates" : [ {
                      "effectiveDate" : "2026-04-13",
                      "expireDate" : "2026-04-15"
                    } ],
                    "cityRateQualifiers" : [ {
                      "city" : {
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "name" : "Bangkok"
                      }
                    } ],
                    "continentRateQualifiers" : [ {
                      "continent" : "NA"
                    } ],
                    "countryRateQualifiers" : [ {
                      "country" : {
                        "continentCode" : "AS",
                        "geoNameId" : "1609350",
                        "isoAlpha2" : "TH",
                        "isoAlpha3" : "THA",
                        "name" : "Thailand"
                      }
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "geoLocationRateQualifiers" : [ {
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "radiusInKilometers" : 50
                    } ],
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "ipRangeRateQualifiers" : [ {
                      "endIPRange" : "192.168.1.255",
                      "startIPRange" : "192.168.1.0"
                    } ],
                    "lastMinuteRateQualifier" : {
                      "seconds" : 1440
                    },
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lengthOfStayRateQualifier" : {
                      "maxLOS" : 30,
                      "minLOS" : 3
                    },
                    "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                    "modifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird",
                    "prepayRateQualifier" : {
                      "prepay" : true
                    },
                    "pricingType" : "PER_PERSON_PER_NIGHT",
                    "promotionRateQualifiers" : [ {
                      "promotion" : "EARLYBIRD2026"
                    } ],
                    "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                    "refundableRateQualifier" : {
                      "refundable" : true
                    },
                    "requiredDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "roomRangeRateQualifier" : {
                      "maxRooms" : 4,
                      "minRooms" : 1
                    },
                    "sellDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-05-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "stayDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-06-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "timezoneRateQualifiers" : [ {
                      "timezone" : "Asia/Bangkok"
                    } ],
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "selfAcquires" : false,
                  "subType" : "DIRECT",
                  "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "supplierName" : "The Siam Residences, Bangkok",
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales-channel/request/list" : {
      "get" : {
        "tags" : [ "Sales Channel Request" ],
        "summary" : "List pending",
        "description" : "Returns the inbound relationship requests awaiting this supplier property's decision (those in the REQUESTING state).",
        "operationId" : "show-sales-channel-requests",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show all sales channel requests for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "List of pending inbound sales channel relationship requests for the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SalesChannelRequestLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "createdDate" : "2026-01-14T09:30:00",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "introductoryMessage" : "We represent a travel agency network with strong demand for your properties and would like to establish a partnership to offer exclusive rates to our members.",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerName" : "The Siam Residences",
                  "requestType" : "DIRECT_CONNECTION",
                  "status" : "REQUESTING",
                  "subType" : "APPLICATION",
                  "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "supplierName" : "The Siam Residences, Bangkok",
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/review/{reviewIdentifier}" : {
      "get" : {
        "tags" : [ "Review" ],
        "summary" : "Get single review",
        "description" : "Loads a single guest review by its identifier, including the guest's text, ratings, images, and the hotel's response if any.",
        "operationId" : "show-review",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Managing entity identifier that owns the review",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "reviewIdentifier",
          "in" : "path",
          "description" : "Review identifier to retrieve",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Review retrieved successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ReviewLightweight_Supplier"
                },
                "example" : {
                  "answers" : [ {
                    "category" : "SERVICE",
                    "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
                    "sort" : 1,
                    "value" : 7
                  } ],
                  "approvedImage" : false,
                  "approvedText" : true,
                  "averageScore" : 8.7,
                  "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                  "createdDate" : "2026-01-14T09:30:00",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
                  "responded" : false,
                  "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
                  "reviewDate" : "2026-01-14T09:30:00",
                  "roomNumber" : "501",
                  "roomRating" : 9,
                  "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
                  "user" : {
                    "email" : "reservations@thesiamresidences.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "telephone" : "+66 2 126 8866",
                    "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                  },
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/review/count" : {
      "get" : {
        "tags" : [ "Review" ],
        "summary" : "Get review count",
        "description" : "Returns the total number of guest reviews recorded for the property.",
        "operationId" : "show-review-count",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Managing entity identifier to count reviews for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Review count retrieved successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CountResponse_Supplier"
                },
                "example" : {
                  "count" : 1543,
                  "success" : true
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/rate-plan/list" : {
      "get" : {
        "tags" : [ "Rate Plan" ],
        "summary" : "List all rate plans",
        "description" : "Retrieve all rate plans configured for a given property. Returns a complete list of rate plan definitions including name, meal inclusions, availability windows, length-of-stay restrictions, occupancy limits, and pricing modifiers. Requires INVENTORY:READ on the managing entity.",
        "operationId" : "show-rate-plans",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the property whose rate plans will be listed.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All rate plans for the property returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RatePlanLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "allInclusive" : false,
                  "allInclusivePlusAlcohol" : false,
                  "arrivalDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "availableDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "breakfast" : false,
                  "brunch" : false,
                  "cancellationPolicy" : {
                    "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                    "createdDate" : "2026-01-14T09:30:00",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                    "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                    "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                    "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                    "refundable" : false,
                    "refundableCancellationCharge" : "FIFTY_PERCENT",
                    "version" : 3
                  },
                  "cancellationPolicyExceptions" : {
                    "list" : [ {
                      "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "endDate" : "2026-12-31",
                      "startDate" : "2026-01-14"
                    } ]
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "departureDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dinner" : false,
                  "earlyCheckInCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "enabled" : false,
                  "extraChildRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lateCheckOutCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "loyaltyPointsAccrue" : false,
                  "lunch" : false,
                  "maxAdvanceBookingOffset" : 180,
                  "maxAge" : 65,
                  "maxLOS" : 30,
                  "maxTotalOccupancy" : 4,
                  "minAdvanceBookingOffset" : 3,
                  "minAge" : 18,
                  "minLOS" : 1,
                  "minTotalOccupancy" : 1,
                  "name" : "Best Available Rate",
                  "prepaid" : false,
                  "ratePlanLevelFees" : [ {
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "fixedAmount" : 450.0,
                    "type" : "PER_DAY"
                  } ],
                  "requiredDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "sellEndDate" : "2026-12-31",
                  "sellStartDate" : "2026-01-15",
                  "singleOccupancyRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "stayEndDate" : "2026-12-31",
                  "stayStartDate" : "2026-01-15",
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property" : {
      "get" : {
        "tags" : [ "Property" ],
        "summary" : "Show",
        "description" : "Loads the full property record for the given managing-entity identifier, failing with 404 when no match exists.",
        "operationId" : "show-hotel-by-manager",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Retrieve property record for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Full property record for the given managing entity",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/recognition/{category}/list" : {
      "get" : {
        "tags" : [ "Recognition" ],
        "summary" : "List by category",
        "description" : "Returns the property's recognitions filtered to a single category, such as AWARD or REVIEW. Requires CONTENT:READ on the managing entity.",
        "operationId" : "show-recognitions-by-category",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show list of recognitions for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "category",
          "in" : "path",
          "description" : "Filter list of recognitions by this category (e.g. AWARD, REVIEW, ARTICLE)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "description" : "Category of industry recognition or award received by a property",
            "enum" : [ "THIRD_PARTY_REVIEW", "PUBLICATION", "AWARD" ]
          },
          "example" : "AWARD"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Recognition records for the property filtered to the requested category",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
                },
                "example" : {
                  "category" : "AWARD",
                  "date" : "2026-01-14",
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "maxRating" : 10.0,
                  "officialAppointmentInd" : true,
                  "provider" : "Michelin",
                  "rating" : 8.5,
                  "ratingSymbol" : "*",
                  "type" : "PERCENT_RATING"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/recognition/list" : {
      "get" : {
        "tags" : [ "Recognition" ],
        "summary" : "List",
        "description" : "Returns every recognition (awards, ratings, articles and more) attached to the given property. Requires CONTENT:READ on the managing entity.",
        "operationId" : "show-recognitions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show list of recognitions for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All recognition records (awards, ratings, articles, etc.) attached to the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
                },
                "example" : {
                  "category" : "AWARD",
                  "date" : "2026-01-14",
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "maxRating" : 10.0,
                  "officialAppointmentInd" : true,
                  "provider" : "Michelin",
                  "rating" : 8.5,
                  "ratingSymbol" : "*",
                  "type" : "PERCENT_RATING"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/promotion/list" : {
      "get" : {
        "tags" : [ "Promotion" ],
        "summary" : "List all promotions",
        "description" : "Retrieve all promotions and premiums configured for a property. Returns an array of promotion objects with their full configurations.",
        "operationId" : "show-promotions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the managing entity (property) to list promotions for.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All promotions for the property returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SpecialRateLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                  "advanceBookingRateQualifier" : {
                    "maxAdvanceBookingOffset" : 365,
                    "minAdvanceBookingOffset" : 7
                  },
                  "arrivalDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "availableDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "blackoutDates" : [ {
                    "effectiveDate" : "2026-04-13",
                    "expireDate" : "2026-04-15"
                  } ],
                  "cityRateQualifiers" : [ {
                    "city" : {
                      "countryCode" : "TH",
                      "geoNameId" : "1609350",
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "name" : "Bangkok"
                    }
                  } ],
                  "continentRateQualifiers" : [ {
                    "continent" : "NA"
                  } ],
                  "countryRateQualifiers" : [ {
                    "country" : {
                      "continentCode" : "AS",
                      "geoNameId" : "1609350",
                      "isoAlpha2" : "TH",
                      "isoAlpha3" : "THA",
                      "name" : "Thailand"
                    }
                  } ],
                  "createdDate" : "2026-01-14T09:30:00",
                  "departureDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "enabled" : true,
                  "geoLocationRateQualifiers" : [ {
                    "latitude" : 13.7563,
                    "longitude" : 100.5018,
                    "radiusInKilometers" : 50
                  } ],
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "ipRangeRateQualifiers" : [ {
                    "endIPRange" : "192.168.1.255",
                    "startIPRange" : "192.168.1.0"
                  } ],
                  "lastMinuteRateQualifier" : {
                    "seconds" : 1440
                  },
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lengthOfStayRateQualifier" : {
                    "maxLOS" : 30,
                    "minLOS" : 3
                  },
                  "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                  "modifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "name" : "Early bird",
                  "prepayRateQualifier" : {
                    "prepay" : true
                  },
                  "pricingType" : "PER_PERSON_PER_NIGHT",
                  "promotionRateQualifiers" : [ {
                    "promotion" : "EARLYBIRD2026"
                  } ],
                  "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                  "refundableRateQualifier" : {
                    "refundable" : true
                  },
                  "requiredDaysOfWeekRateQualifier" : {
                    "daysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    }
                  },
                  "roomRangeRateQualifier" : {
                    "maxRooms" : 4,
                    "minRooms" : 1
                  },
                  "sellDateRateQualifiers" : [ {
                    "effectiveDate" : "2026-05-01",
                    "expireDate" : "2026-08-31"
                  } ],
                  "stayDateRateQualifiers" : [ {
                    "effectiveDate" : "2026-06-01",
                    "expireDate" : "2026-08-31"
                  } ],
                  "timezoneRateQualifiers" : [ {
                    "timezone" : "Asia/Bangkok"
                  } ],
                  "type" : "DISCOUNT",
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/promotion-bundle/list" : {
      "get" : {
        "tags" : [ "Promotion Bundle" ],
        "summary" : "List all promotion bundles",
        "description" : "Retrieve all promotion bundles configured for a property.",
        "operationId" : "show-rate-modifier-bundles",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the managing entity (property).",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All promotion bundles for the property returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SpecialRateBundleLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "aggregatedItemDescriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "effectiveDescriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "enabled" : true,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "items" : [ {
                    "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
                    "advanceBookingRateQualifier" : {
                      "maxAdvanceBookingOffset" : 365,
                      "minAdvanceBookingOffset" : 7
                    },
                    "arrivalDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "availableDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "blackoutDates" : [ {
                      "effectiveDate" : "2026-04-13",
                      "expireDate" : "2026-04-15"
                    } ],
                    "cityRateQualifiers" : [ {
                      "city" : {
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "latitude" : 13.7563,
                        "longitude" : 100.5018,
                        "name" : "Bangkok"
                      }
                    } ],
                    "continentRateQualifiers" : [ {
                      "continent" : "NA"
                    } ],
                    "countryRateQualifiers" : [ {
                      "country" : {
                        "continentCode" : "AS",
                        "geoNameId" : "1609350",
                        "isoAlpha2" : "TH",
                        "isoAlpha3" : "THA",
                        "name" : "Thailand"
                      }
                    } ],
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "enabled" : true,
                    "geoLocationRateQualifiers" : [ {
                      "latitude" : 13.7563,
                      "longitude" : 100.5018,
                      "radiusInKilometers" : 50
                    } ],
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "ipRangeRateQualifiers" : [ {
                      "endIPRange" : "192.168.1.255",
                      "startIPRange" : "192.168.1.0"
                    } ],
                    "lastMinuteRateQualifier" : {
                      "seconds" : 1440
                    },
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lengthOfStayRateQualifier" : {
                      "maxLOS" : 30,
                      "minLOS" : 3
                    },
                    "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
                    "modifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "name" : "Early bird",
                    "prepayRateQualifier" : {
                      "prepay" : true
                    },
                    "pricingType" : "PER_PERSON_PER_NIGHT",
                    "promotionRateQualifiers" : [ {
                      "promotion" : "EARLYBIRD2026"
                    } ],
                    "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
                    "refundableRateQualifier" : {
                      "refundable" : true
                    },
                    "requiredDaysOfWeekRateQualifier" : {
                      "daysOfWeek" : {
                        "disabled" : true,
                        "fri" : true,
                        "mon" : true,
                        "sat" : true,
                        "sun" : true,
                        "thu" : true,
                        "tue" : true,
                        "wed" : true
                      }
                    },
                    "roomRangeRateQualifier" : {
                      "maxRooms" : 4,
                      "minRooms" : 1
                    },
                    "sellDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-05-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "stayDateRateQualifiers" : [ {
                      "effectiveDate" : "2026-06-01",
                      "expireDate" : "2026-08-31"
                    } ],
                    "timezoneRateQualifiers" : [ {
                      "timezone" : "Asia/Bangkok"
                    } ],
                    "type" : "DISCOUNT",
                    "version" : 3
                  } ],
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "modifierOverride" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "name" : "Early bird - Long Term",
                  "pricingType" : "PER_NIGHT",
                  "type" : "DISCOUNT",
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/master-rate/{masterRateIdentifier}" : {
      "get" : {
        "tags" : [ "Master Rate" ],
        "summary" : "Get master rate",
        "description" : "Returns a single master rate (combination of room type, rate plan, and optional perks) by its identifier for the given property. Requires INVENTORY:READ permission on the managing entity.",
        "operationId" : "show-master-rate",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier that owns the master rate.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "masterRateIdentifier",
          "in" : "path",
          "description" : "Master rate identifier to retrieve.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Master rate successfully retrieved.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MasterRateLightweight_Supplier"
                },
                "example" : {
                  "enabled" : true,
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "name" : "Premium King - Best Available Rate",
                  "perkTypes" : [ {
                    "guaranteed" : true,
                    "id" : "PERK_GUARANTEED_UPGRADE",
                    "level" : 3
                  } ],
                  "ratePlan" : {
                    "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                    "name" : "Best Available Rate"
                  },
                  "roomType" : {
                    "identifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                    "name" : "Premium King Room"
                  }
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/master-rate/list" : {
      "get" : {
        "tags" : [ "Master Rate" ],
        "summary" : "List master rates",
        "description" : "Returns all master rates (combinations of room types and rate plans) configured for the given property. Requires INVENTORY:READ permission on the managing entity.",
        "operationId" : "show-master-rates_1",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier for which to list all master rates.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Master rates successfully retrieved for the given property.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/MasterRateLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "enabled" : true,
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "name" : "Premium King - Best Available Rate",
                  "perkTypes" : [ {
                    "guaranteed" : true,
                    "id" : "PERK_GUARANTEED_UPGRADE",
                    "level" : 3
                  } ],
                  "ratePlan" : {
                    "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                    "name" : "Best Available Rate"
                  },
                  "roomType" : {
                    "identifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                    "name" : "Premium King Room"
                  }
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/inventory-usage/spa/{spaIdentifier}" : {
      "get" : {
        "tags" : [ "Inventory Usage" ],
        "summary" : "Show spa",
        "description" : "Aggregates every affiliate sales channel currently selling the given spa.",
        "operationId" : "show-spa-usage",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Hotel identifier inventoryowner",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "hotel-1"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "spa-1"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InventoryUsage_Supplier"
                },
                "example" : {
                  "inventoryIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "itemList" : [ {
                    "count" : 3,
                    "usage" : "RATE_MODIFIER"
                  }, {
                    "count" : 1,
                    "usage" : "LINK"
                  } ],
                  "name" : "Deluxe River View Room",
                  "referenced" : true,
                  "type" : "GUEST_ROOM"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/inventory-usage/room-type/{roomTypeIdentifier}" : {
      "get" : {
        "tags" : [ "Inventory Usage" ],
        "summary" : "Show room type",
        "description" : "Aggregates every affiliate sales channel currently selling the given room type.",
        "operationId" : "show-room-type-usage",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Hotel identifier inventoryowner",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "hotel-1"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "room-type-1"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InventoryUsage_Supplier"
                },
                "example" : {
                  "inventoryIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "itemList" : [ {
                    "count" : 3,
                    "usage" : "RATE_MODIFIER"
                  }, {
                    "count" : 1,
                    "usage" : "LINK"
                  } ],
                  "name" : "Deluxe River View Room",
                  "referenced" : true,
                  "type" : "GUEST_ROOM"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/inventory-usage/restaurant/{restaurantIdentifier}" : {
      "get" : {
        "tags" : [ "Inventory Usage" ],
        "summary" : "Show restaurant",
        "description" : "Aggregates every affiliate sales channel currently selling the given restaurant.",
        "operationId" : "show-restaurant-usage",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Hotel identifier inventoryowner",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "hotel-1"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "restaurant-1"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InventoryUsage_Supplier"
                },
                "example" : {
                  "inventoryIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "itemList" : [ {
                    "count" : 3,
                    "usage" : "RATE_MODIFIER"
                  }, {
                    "count" : 1,
                    "usage" : "LINK"
                  } ],
                  "name" : "Deluxe River View Room",
                  "referenced" : true,
                  "type" : "GUEST_ROOM"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/inventory-usage/rate-plan/{ratePlanIdentifier}" : {
      "get" : {
        "tags" : [ "Inventory Usage" ],
        "summary" : "Show rate plan",
        "description" : "Aggregates every affiliate sales channel currently selling the given rate plan.",
        "operationId" : "show-rate-plan-usage",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Hotel identifier inventoryowner",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "hotel-1"
        }, {
          "name" : "ratePlanIdentifier",
          "in" : "path",
          "description" : "Rate plan identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "rate-plan-1"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InventoryUsage_Supplier"
                },
                "example" : {
                  "inventoryIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "itemList" : [ {
                    "count" : 3,
                    "usage" : "RATE_MODIFIER"
                  }, {
                    "count" : 1,
                    "usage" : "LINK"
                  } ],
                  "name" : "Deluxe River View Room",
                  "referenced" : true,
                  "type" : "GUEST_ROOM"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/inventory-usage/place/{placeIdentifier}" : {
      "get" : {
        "tags" : [ "Inventory Usage" ],
        "summary" : "Show place",
        "description" : "Aggregates every affiliate sales channel currently selling the given place.",
        "operationId" : "show-place-usage",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Hotel identifier blocking owner",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "hotel-1"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "place-1"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InventoryUsage_Supplier"
                },
                "example" : {
                  "inventoryIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "itemList" : [ {
                    "count" : 3,
                    "usage" : "RATE_MODIFIER"
                  }, {
                    "count" : 1,
                    "usage" : "LINK"
                  } ],
                  "name" : "Deluxe River View Room",
                  "referenced" : true,
                  "type" : "GUEST_ROOM"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/inventory-usage/meeting-room/{meetingRoomIdentifier}" : {
      "get" : {
        "tags" : [ "Inventory Usage" ],
        "summary" : "Show meeting room",
        "description" : "Aggregates every affiliate sales channel currently selling the given meeting room.",
        "operationId" : "show-meeting-room-usage",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Hotel identifier inventoryowner",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "hotel-1"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "meeting-room-1"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InventoryUsage_Supplier"
                },
                "example" : {
                  "inventoryIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "itemList" : [ {
                    "count" : 3,
                    "usage" : "RATE_MODIFIER"
                  }, {
                    "count" : 1,
                    "usage" : "LINK"
                  } ],
                  "name" : "Deluxe River View Room",
                  "referenced" : true,
                  "type" : "GUEST_ROOM"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/inventory-usage/attraction/{attractionIdentifier}" : {
      "get" : {
        "tags" : [ "Inventory Usage" ],
        "summary" : "Show attraction",
        "description" : "Aggregates every affiliate sales channel currently selling the given attraction.",
        "operationId" : "show-attraction-usage",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Hotel identifier blocking owner",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "hotel-1"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "attraction-1"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InventoryUsage_Supplier"
                },
                "example" : {
                  "inventoryIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "itemList" : [ {
                    "count" : 3,
                    "usage" : "RATE_MODIFIER"
                  }, {
                    "count" : 1,
                    "usage" : "LINK"
                  } ],
                  "name" : "Deluxe River View Room",
                  "referenced" : true,
                  "type" : "GUEST_ROOM"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/inventory-usage/add-on/{addOnIdentifier}" : {
      "get" : {
        "tags" : [ "Inventory Usage" ],
        "summary" : "Show add-on",
        "description" : "Aggregates every affiliate sales channel currently selling the given add-on.",
        "operationId" : "show-add-on-usage",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Hotel identifier inventoryowner",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "hotel-1"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-On identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "add-on-1"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InventoryUsage_Supplier"
                },
                "example" : {
                  "inventoryIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "itemList" : [ {
                    "count" : 3,
                    "usage" : "RATE_MODIFIER"
                  }, {
                    "count" : 1,
                    "usage" : "LINK"
                  } ],
                  "name" : "Deluxe River View Room",
                  "referenced" : true,
                  "type" : "GUEST_ROOM"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/inventory-usage/activity/{activityIdentifier}" : {
      "get" : {
        "tags" : [ "Inventory Usage" ],
        "summary" : "Show activity",
        "description" : "Aggregates every affiliate sales channel currently selling the given activity.",
        "operationId" : "show-activity-usage",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Hotel identifier blocking owner",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "hotel-1"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "activity-1"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InventoryUsage_Supplier"
                },
                "example" : {
                  "inventoryIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "itemList" : [ {
                    "count" : 3,
                    "usage" : "RATE_MODIFIER"
                  }, {
                    "count" : 1,
                    "usage" : "LINK"
                  } ],
                  "name" : "Deluxe River View Room",
                  "referenced" : true,
                  "type" : "GUEST_ROOM"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/list" : {
      "get" : {
        "tags" : [ "Spa" ],
        "summary" : "List spas",
        "description" : "Retrieves all spas owned by a property. Returns a full list of spa facilities including their details, multimedia assets, schedules, and amenities for use in the extranet inventory management interface.",
        "operationId" : "show-spas",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — shows all spas owned by this property",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "List of spas for the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/list/pair" : {
      "get" : {
        "tags" : [ "Spa" ],
        "summary" : "List spa pairs",
        "description" : "Retrieves lightweight identifier/name pairs for all spas owned by a property. Returns minimal data suitable for populating UI dropdowns, pickers, and selection lists.",
        "operationId" : "show-spa-pairs",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — shows all spa pairs for this property",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Identifier/name pairs for all spas belonging to the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/list" : {
      "get" : {
        "tags" : [ "Guest Room" ],
        "summary" : "List room types",
        "description" : "Returns all room types configured for the given managing entity. Requires INVENTORY:READ on the property.",
        "operationId" : "show-guest-rooms",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to list room types for.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All room types for the managing entity returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/list" : {
      "get" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Show all",
        "description" : "Lists every restaurant configured for the given property.",
        "operationId" : "show-restaurants",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show restaurants owned by this property (managing entity) identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All restaurants belonging to the given property.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/list/pair" : {
      "get" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Show pairs",
        "description" : "Lists the property's restaurants as identifier/name pairs for dropdowns and pickers.",
        "operationId" : "show-restaurant-pairs",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show restaurant pairs owned by this property (managing entity) identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Identifier/name pairs for all restaurants belonging to the given property.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/list" : {
      "get" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "List",
        "description" : "Returns every meeting room configured for the given property.",
        "operationId" : "show-meeting-rooms",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show meeting rooms associated with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All meeting rooms for the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/list/pair" : {
      "get" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "List pairs",
        "description" : "Returns the property's meeting rooms as lightweight identifier/name pairs, suited for dropdowns.",
        "operationId" : "show-meeting-room-pairs",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show meeting room key/value pairs associated with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Identifier/name pairs for all meeting rooms in the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/list" : {
      "get" : {
        "tags" : [ "Place" ],
        "summary" : "List",
        "description" : "Returns the full list of points of interest configured for the property.",
        "operationId" : "show-places",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show places owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "List of all places belonging to the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/list/pair" : {
      "get" : {
        "tags" : [ "Place" ],
        "summary" : "List Pairs",
        "description" : "Returns places as lightweight identifier/name pairs, a faster way to populate dropdowns than fetching full objects.",
        "operationId" : "show-place-pairs",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show place pairs owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "List of place key/value pairs (identifier and name) for dropdown population",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/list" : {
      "get" : {
        "tags" : [ "Attraction" ],
        "summary" : "List attractions",
        "description" : "Returns all attractions configured for the given managing entity. Requires INVENTORY:READ on the property.",
        "operationId" : "show-attractions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to retrieve attractions for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "List of all attractions belonging to the managing entity",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AttractionLightweight"
                  }
                },
                "example" : [ {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/list/pair" : {
      "get" : {
        "tags" : [ "Attraction" ],
        "summary" : "List attractions as key-value pairs",
        "description" : "Returns the property's attractions as lightweight identifier/name key-value pairs, suited to dropdowns and pickers. Requires INVENTORY:READ.",
        "operationId" : "show-attraction-pairs",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to retrieve attraction pairs for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "List of attraction key-value pairs (identifier to name) for use in dropdowns and pickers",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/list" : {
      "get" : {
        "tags" : [ "Activity" ],
        "summary" : "List",
        "description" : "Returns the full list of activities configured for the property.",
        "operationId" : "show-activities",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (Managing Entity)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "List of all activities for the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ActivityLightweight"
                  }
                },
                "example" : [ {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/list/pair" : {
      "get" : {
        "tags" : [ "Activity" ],
        "summary" : "List pairs",
        "description" : "Returns activities as lightweight identifier/name pairs, a faster way to populate dropdowns than fetching full objects.",
        "operationId" : "show-activity-pairs",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (Managing Entity)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "List of activity key/value pairs for the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/cancellation-policy/{cancellationPolicyIdentifier}/removable" : {
      "get" : {
        "tags" : [ "Cancellation Policy" ],
        "summary" : "Verify removable",
        "description" : "Checks whether the given cancellation policy can be deleted; a policy still linked to a rate plan is not removable until those associations are cleared first.",
        "operationId" : "is-cancellation-policy-removable",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity (property owner) that owns the cancellation policy.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "cancellationPolicyIdentifier",
          "in" : "path",
          "description" : "UUID of the cancellation policy to check for removability.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a4c8e2f1-7b3d-4e9a-8c05-2f1b6d0e3a74"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Removability check result indicating whether the policy can be safely deleted and which rate plans are blocking deletion if any.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CancellationPolicyRemovableResponse_Supplier"
                },
                "example" : {
                  "ratePlans" : [ {
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "name" : "Standard Flexible Rate"
                  } ],
                  "removable" : false
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/cancellation-policy/list" : {
      "get" : {
        "tags" : [ "Cancellation Policy" ],
        "summary" : "List",
        "description" : "Returns every cancellation policy defined for the given property.",
        "operationId" : "show-cancellation-policy-list",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity (property owner) whose cancellation policies to list.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All cancellation policies for the specified property.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CancellationPolicyLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                  "createdDate" : "2026-01-14T09:30:00",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                  "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                  "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                  "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                  "refundable" : false,
                  "refundableCancellationCharge" : "FIFTY_PERCENT",
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/caldav/auth" : {
      "get" : {
        "tags" : [ "Calendar Sync" ],
        "summary" : "Retrieve CalDAV connection",
        "description" : "Retrieves the existing CalDAV connection details (authentication passkey and iCalendar feed URL) for the specified property. Returns 404 if the property has not yet configured CalDAV integration.",
        "operationId" : "retrieve-cal-dav-auth",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the property for which to retrieve CalDAV configuration",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CalDavResponse_Supplier"
                },
                "example" : {
                  "hotelIdentifier" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "passkey" : "pkey_7fn92kd8s0x4m5qw9r3j1lp8n6t2u4v0",
                  "url" : "https://dev-api.wink.travel:8443/api/cal/property/a1b2c3d4-e5f6-7890-abcd-ef1234567890/booking/list"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/caldav/auth/regen" : {
      "get" : {
        "tags" : [ "Calendar Sync" ],
        "summary" : "Regenerate CalDAV passkey",
        "description" : "Generates a new CalDAV authentication passkey for the property. The updated feed URL and passkey are returned immediately. Any previously issued passkey and calendar subscriptions using the old passkey will stop working and must be resubscribed with the new details.",
        "operationId" : "generate-cal-dav-auth",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the property for which to regenerate CalDAV passkey",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CalDavResponse_Supplier"
                },
                "example" : {
                  "hotelIdentifier" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "passkey" : "pkey_7fn92kd8s0x4m5qw9r3j1lp8n6t2u4v0",
                  "url" : "https://dev-api.wink.travel:8443/api/cal/property/a1b2c3d4-e5f6-7890-abcd-ef1234567890/booking/list"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/{bookingIdentifier}" : {
      "get" : {
        "tags" : [ "Booking" ],
        "summary" : "Show",
        "description" : "Returns a single booking owned by the property, throwing 404 if no matching booking exists for the given identifiers.",
        "operationId" : "show-hotel-booking",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show booking owned by this property",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "bookingIdentifier",
          "in" : "path",
          "description" : "Show booking with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested property booking",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BookingLightweight_SupplierDetails"
                },
                "example" : {
                  "acquiringFee" : {
                    "internalAmount" : 450.0,
                    "shareNotStated" : false,
                    "sourceAmount" : 450.0,
                    "state" : "CAPTURED"
                  },
                  "activities" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "addOns" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "ancillaryList" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "attractions" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "beneficiaryList" : [ {
                    "accountEmail" : "reservations@thesiamresidences.com",
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "The Siam Residences, Bangkok",
                    "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                    "amountDue" : {
                      "percent" : 0.05
                    },
                    "displayAmount" : 450.0,
                    "displayAmountRefundModifier" : 45.0,
                    "displayCurrency" : "USD",
                    "internalAmount" : 450.0,
                    "internalAmountRefundModifier" : 45.0,
                    "internalCurrency" : "USD",
                    "netDisplayAmount" : 450.0,
                    "netInternalAmount" : 450.0,
                    "netSourceAmount" : 450.0,
                    "pendingRefunds" : [ {
                      "displayAmountRefundModifier" : 45.0,
                      "internalAmountRefundModifier" : 45.0,
                      "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                      "sourceAmountRefundModifier" : 45.0
                    } ],
                    "reconciled" : false,
                    "sourceAmount" : 450.0,
                    "sourceAmountRefundModifier" : 45.0,
                    "sourceCurrency" : "THB"
                  } ],
                  "booker" : {
                    "email" : "reservations@thesiamresidences.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "telephone" : "+1 212 555 1212",
                    "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                  },
                  "cancellation" : {
                    "cancelReason" : "Guest changed travel plans",
                    "cancellationType" : "FREE_CANCELLATION",
                    "cancelledOn" : "2026-01-15T10:30:00Z",
                    "cancellerType" : "TRAVELER",
                    "cancellerUserIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                    "groupRefundNotified" : false
                  },
                  "commissionableSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "customization" : {
                    "appendToPageTitle" : "Hotels with Benefits",
                    "cardDesign" : "DEFAULT",
                    "cardLayout" : "VERTICAL",
                    "city" : {
                      "admin1Code" : "40",
                      "admin2Code" : "2401",
                      "admin3Code" : "",
                      "admin4Code" : "",
                      "alternateCountryCodes" : [ ],
                      "alternateNames" : [ "Krung Thep", "BKK" ],
                      "asciiName" : "Bangkok",
                      "country" : {
                        "area" : 514000.0,
                        "capital" : "Bangkok",
                        "continent" : "AS",
                        "currencyCode" : "THB",
                        "currencyName" : "Baht",
                        "fips" : "TH",
                        "geoNameId" : "1605651",
                        "iso" : "TH",
                        "iso3" : "THA",
                        "isoNumeric" : 764,
                        "languages" : [ "th" ],
                        "name" : "Thailand",
                        "neighbors" : [ "LA", "MM", "KH", "MY" ],
                        "phone" : "66",
                        "population" : 69428524,
                        "postalCodeFormat" : "#####",
                        "postalCodeRegEx" : "^(\\d{5})$",
                        "topLevelDomain" : ".th"
                      },
                      "countryCode" : "TH",
                      "digitalElevationModel" : "3",
                      "elevation" : 5,
                      "featureClass" : "P",
                      "featureCode" : "PPLC",
                      "geoNameId" : "1609350",
                      "location" : {
                        "coordinates" : [ 100.5581533, 13.7370197 ],
                        "type" : "POINT"
                      },
                      "modificationDate" : "2023-06-15",
                      "name" : "Bangkok",
                      "population" : 10539415,
                      "radiusInMeters" : 50000,
                      "subCountry" : {
                        "asciiName" : "Bangkok",
                        "code" : "TH.40",
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "name" : "Bangkok",
                        "subCountryCode" : "40"
                      },
                      "subSubCountry" : {
                        "asciiName" : "Bangkok District",
                        "code" : "TH.40.2401",
                        "countryCode" : "TH",
                        "geoNameId" : "1609352",
                        "name" : "Bangkok District",
                        "subCountryCode" : "40",
                        "subSubCountryCode" : "2401"
                      },
                      "timezone" : "Asia/Bangkok",
                      "type" : "CITY",
                      "urlName" : "bangkok-thailand"
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "defaultCurrency" : "THB",
                    "defaultLanguage" : "en",
                    "defaultLifestyle" : "LIFESTYLE_HEALTH_FITNESS",
                    "endDate" : "2026-07-22",
                    "googleAnalyticsMeasurementId" : "G-ABCDEF1234",
                    "googleMapsAPIKey" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6",
                    "googleTagManagerContainerId" : "GTM-XXXXX",
                    "hostedBookingEngineUrl" : "https://book.thesiamresidences.com/reservations",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "layout" : "INFORMATIONAL",
                    "logos" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "Luxury Travel Portal",
                    "numberOfAdvanceDays" : 7,
                    "numberOfStayDays" : 3,
                    "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "ownerName" : "Premium Hotels International",
                    "primary" : true,
                    "roomConfiguration" : {
                      "adults" : 2,
                      "children" : [ {
                        "age" : 7,
                        "quantity" : 2
                      } ],
                      "quantity" : 2
                    },
                    "selfHosted" : true,
                    "sendBookingNotificationEmailsToBooker" : true,
                    "sendBookingNotificationEmailsToChannelManager" : true,
                    "sendBookingNotificationEmailsToProperty" : true,
                    "showRankings" : true,
                    "showSearch" : true,
                    "showUnavailableCard" : false,
                    "startDate" : "2026-07-15",
                    "subType" : "APPLICATION",
                    "themeColors" : {
                      "body" : "#212529",
                      "danger" : "#dc3545",
                      "dark" : "#343a40",
                      "info" : "#17a2b8",
                      "light" : "#f8f9fa",
                      "muted" : "#6c757d",
                      "primary" : "#dc3545",
                      "secondary" : "#6c757d",
                      "success" : "#28a745",
                      "warning" : "#ffc107",
                      "white" : "#ffffff"
                    },
                    "trackingPixels" : [ {
                      "accessToken" : "EAABsbCS0kB4BAAI...",
                      "consentCategory" : "MARKETING",
                      "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
                      "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
                      "enabled" : true,
                      "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
                      "name" : "Facebook Conversion Pixel",
                      "pixelId" : "1234567890",
                      "provider" : "FACEBOOK",
                      "triggers" : [ {
                        "eventType" : "PURCHASE",
                        "parameters" : [ {
                          "key" : "currency",
                          "value" : "USD"
                        } ]
                      } ],
                      "type" : "JAVASCRIPT"
                    } ],
                    "useDays" : true,
                    "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                    "version" : 3,
                    "wcBookClickAction" : "IBE_MODAL"
                  },
                  "earlyCheckInCharge" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "feeModel" : "FIXED_PROCESSING_FEE",
                  "financialBreakdown" : {
                    "beneficiaryList" : [ {
                      "accountEmail" : "reservations@thesiamresidences.com",
                      "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                      "accountName" : "The Siam Residences, Bangkok",
                      "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                      "amountDue" : {
                        "percent" : 0.05
                      },
                      "displayAmount" : 450.0,
                      "displayAmountRefundModifier" : 45.0,
                      "displayCurrency" : "USD",
                      "internalAmount" : 450.0,
                      "internalAmountRefundModifier" : 45.0,
                      "internalCurrency" : "USD",
                      "netDisplayAmount" : 450.0,
                      "netInternalAmount" : 450.0,
                      "netSourceAmount" : 450.0,
                      "pendingRefunds" : [ {
                        "displayAmountRefundModifier" : 45.0,
                        "internalAmountRefundModifier" : 45.0,
                        "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                        "sourceAmountRefundModifier" : 45.0
                      } ],
                      "reconciled" : false,
                      "sourceAmount" : 450.0,
                      "sourceAmountRefundModifier" : 45.0,
                      "sourceCurrency" : "THB"
                    } ],
                    "displayPriceQuote" : {
                      "exchangeRate" : 33.5,
                      "source" : "USD",
                      "target" : "THB",
                      "timestamp" : 1705233000000
                    },
                    "internalPriceQuote" : {
                      "exchangeRate" : 33.5,
                      "source" : "USD",
                      "target" : "THB",
                      "timestamp" : 1705233000000
                    }
                  },
                  "fundsAddedToLedger" : false,
                  "fundsProcessed" : false,
                  "guestUser" : {
                    "email" : "reservations@thesiamresidences.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "profile" : {
                      "createdDate" : "2026-01-14T09:30:00",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "personal" : {
                        "address1" : "123 Petchburi Road",
                        "address2" : "Ratchathewi District",
                        "birthDate" : "1985-06-15",
                        "childQuantity" : 2,
                        "citizenship" : "Thailand",
                        "city" : "Bangkok",
                        "contactPerson" : [ {
                          "email" : "johnsmith@email.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phoneNumber" : "+12125551212",
                          "secondaryEmail" : "johnsmith2@email.com",
                          "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                        } ],
                        "country" : "TH",
                        "gender" : "FEMALE",
                        "language" : "en",
                        "maritalStatus" : "MARRIED",
                        "petInfo" : [ {
                          "name" : "Luna",
                          "type" : "Golden Retriever"
                        } ],
                        "postalCode" : "10400",
                        "preferredCurrency" : "USD",
                        "state" : "Bangkok"
                      },
                      "preferences" : {
                        "bedTypePref" : "King bed",
                        "cuisinePref" : "Thai",
                        "foodSrvcPref" : "In-room dining",
                        "guestType" : "Business traveler",
                        "hotelChainPref" : "Mandarin Oriental",
                        "mealPref" : "Continental breakfast",
                        "physChalFeaturePref" : "Wheelchair accessible rooms",
                        "propertyLocationPref" : "Beachfront",
                        "propertyTypePref" : "Luxury Resort",
                        "roomLocationPref" : "High floor with city view",
                        "smokingAllowed" : false
                      },
                      "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "share" : true,
                      "user" : {
                        "email" : "alexandra@beaumont.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phone" : "+66212658866",
                        "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                      },
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                      "version" : 3
                    },
                    "telephone" : "+1 212 555 1212",
                    "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                  },
                  "hotel" : {
                    "activities" : 3,
                    "addOns" : 5,
                    "address" : {
                      "city" : "Bangkok",
                      "countryCode" : "TH",
                      "line1" : "3/2 Khao Road",
                      "postalCode" : "10300",
                      "state" : "Bangkok"
                    },
                    "aggregateGreendexRating" : 7.0,
                    "aggregateReviewRating" : 8.7,
                    "architecturalStyle" : "7",
                    "attractions" : 5,
                    "available" : true,
                    "bookings" : 6054,
                    "brand" : "The Siam Residences",
                    "chain" : "The Siam Collection",
                    "currencyCode" : "THB",
                    "descriptions" : [ {
                      "description" : "An elegant riverside sanctuary in the heart of Bangkok.",
                      "language" : "en",
                      "title" : "Luxury Riverside Retreat"
                    } ],
                    "hotelAmenityCodes" : [ "1", "7" ],
                    "hotelCategory" : "45",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "images" : [ {
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "type" : "IMAGE"
                    } ],
                    "lifestyleTypes" : [ "LIFESTYLE_HEALTH_FITNESS" ],
                    "localName" : "เดอะสยาม เรสซิเดนซ์",
                    "location" : {
                      "coordinates" : [ 100.5581533, 13.7370197 ],
                      "type" : "Point"
                    },
                    "locationCategory" : "34",
                    "meetingRooms" : 2,
                    "name" : "The Siam Residences, Bangkok",
                    "numberOfRooms" : 32,
                    "places" : 9,
                    "propertyAccessibilityCodes" : [ "1" ],
                    "propertySecurityCodes" : [ "7" ],
                    "reservations" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Somchai",
                      "lastName" : "Phattanapong",
                      "phone" : "+66-2-123-4567"
                    },
                    "restaurants" : 2,
                    "score" : 70,
                    "segmentCategory" : "7",
                    "socials" : [ {
                      "handle" : "thesiamresidences",
                      "platform" : "INSTAGRAM"
                    } ],
                    "spas" : 1,
                    "starRating" : 5,
                    "thirdPartyReviews" : [ ],
                    "totalReviews" : 989,
                    "uniqueId" : "siam-residences-bkk",
                    "urlName" : "the-siam-residences-bangkok-thailand",
                    "videos" : [ ],
                    "whenBuilt" : "1927"
                  },
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lateCheckOutCharge" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "meetingRooms" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "netTotalFeesAndCommissionsSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "netTotalSalesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "netTotalSalesSourceAmountOrZero" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "paymentDetails" : {
                    "acquiringFeeCapture" : {
                      "apportionedAcross" : 3,
                      "balanceTransactionIdentifier" : "txn_abc123",
                      "capturedDate" : "2026-09-11T03:07:58.742",
                      "chargeFee" : 450.0,
                      "chargeIdentifier" : "ch_abc123",
                      "source" : "WEBHOOK"
                    },
                    "acquiringFeeState" : "CAPTURED",
                    "agentInvoiceIdentifier" : "invoice-1",
                    "agentInvoicedDate" : "2017-12-22T03:07:58.742+0000",
                    "chargeIdentifier" : "ch_abc123",
                    "customerIdentifier" : "cus_abc123",
                    "fees" : [ {
                      "description" : "Fee charged for booking confirmation",
                      "fee" : 450.0,
                      "identifier" : "ABC1234",
                      "type" : "BOOKING"
                    } ],
                    "selfAcquires" : false,
                    "selfDisburses" : false,
                    "sessionIdentifier" : "s_abc123",
                    "transactionIdentifier" : "pi_3abc123",
                    "vendor" : "STRIPE"
                  },
                  "payoutList" : [ {
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "Hotel Sunrise",
                    "beneficiaryType" : "SALE",
                    "displayAmount" : 12.75,
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "internalAmount" : 12.75,
                    "processedDate" : "2026-01-15T10:30:00Z",
                    "sourceAmount" : 450.0,
                    "status" : "COMPLETED",
                    "withdrawalId" : "tr_abc123"
                  } ],
                  "places" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "refund" : {
                    "cancelOnRefund" : "NONE",
                    "createdDate" : "2026-01-15T10:30:00Z",
                    "description" : "Guest requested cancellation",
                    "displayAmount" : 12.75,
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "internalAmount" : 12.75,
                    "processedDate" : "2026-01-15T10:30:00Z",
                    "reason" : "REQUESTED_BY_CUSTOMER",
                    "receiptUrl" : "https://pay.stripe.com/receipts/abc123",
                    "requestor" : "BY_ADMIN",
                    "response" : "Approved — refunding 50% per policy.",
                    "sourceAmount" : 450.0,
                    "status" : "SUCCEEDED",
                    "stripeRefundFee" : 0.5,
                    "stripeRefundId" : "re_abc123"
                  },
                  "refundFee" : {
                    "internalAmount" : 450.0,
                    "shareNotStated" : false,
                    "sourceAmount" : 450.0,
                    "state" : "CAPTURED"
                  },
                  "reportingAncillaryList" : [ {
                    "currency" : "USD",
                    "grossAmount" : 450.0,
                    "name" : "Thai Massage",
                    "netAmount" : 405.0,
                    "netAmountWithRefund" : 405.0
                  } ],
                  "reportingDailyRateList" : [ {
                    "baseAmount" : 450.0,
                    "currency" : "USD",
                    "date" : "2026-01-15",
                    "grossAmount" : 405.0,
                    "netAmount" : 360.0,
                    "netAmountWithRefund" : 360.0
                  } ],
                  "reportingExtraChargeList" : [ {
                    "currency" : "USD",
                    "description" : "The charge is 50.00 USD and is charged per day.",
                    "grossAmount" : 450.0,
                    "name" : "Late checkout fee",
                    "netAmount" : 405.0,
                    "netAmountWithRefund" : 405.0
                  } ],
                  "restaurants" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "review" : {
                    "answers" : [ {
                      "category" : "SERVICE",
                      "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
                      "sort" : 1,
                      "value" : 7
                    } ],
                    "approvedImage" : false,
                    "approvedText" : true,
                    "averageScore" : 8.7,
                    "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                    "createdDate" : "2026-01-14T09:30:00",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
                    "responded" : false,
                    "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
                    "reviewDate" : "2026-01-14T09:30:00",
                    "roomNumber" : "501",
                    "roomRating" : 9,
                    "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
                    "user" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "telephone" : "+66 2 126 8866",
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                    },
                    "version" : 3
                  },
                  "roomStay" : {
                    "activeCancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "adults" : 2,
                    "ancillaryList" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "bedroomConfiguration" : {
                      "bedroomList" : [ {
                        "bedList" : [ {
                          "bedTypeCode" : "1",
                          "quantity" : 2
                        } ],
                        "type" : "MASTER"
                      } ],
                      "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "name" : "Master Suite Layout"
                    },
                    "beneficiaryList" : [ {
                      "accountEmail" : "reservations@thesiamresidences.com",
                      "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                      "accountName" : "The Siam Residences, Bangkok",
                      "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                      "amountDue" : {
                        "percent" : 0.05
                      },
                      "displayAmount" : 450.0,
                      "displayAmountRefundModifier" : 45.0,
                      "displayCurrency" : "USD",
                      "internalAmount" : 450.0,
                      "internalAmountRefundModifier" : 45.0,
                      "internalCurrency" : "USD",
                      "netDisplayAmount" : 450.0,
                      "netInternalAmount" : 450.0,
                      "netSourceAmount" : 450.0,
                      "pendingRefunds" : [ {
                        "displayAmountRefundModifier" : 45.0,
                        "internalAmountRefundModifier" : 45.0,
                        "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                        "sourceAmountRefundModifier" : 45.0
                      } ],
                      "reconciled" : false,
                      "sourceAmount" : 450.0,
                      "sourceAmountRefundModifier" : 45.0,
                      "sourceCurrency" : "THB"
                    } ],
                    "children" : 0,
                    "endDate" : "2025-12-27",
                    "extraCharges" : {
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "items" : [ {
                        "price" : {
                          "internalBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "internalChannelModifier" : -10,
                          "internalPremiumModifier" : 40,
                          "internalPromotionalModifier" : -40,
                          "internalTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "quantity" : 1,
                          "sourceBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "sourceChannelModifier" : -10,
                          "sourcePremiumModifier" : 40,
                          "sourcePromotionalModifier" : -40,
                          "sourceToInternalCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceToUserCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyChannelModifier" : -10,
                          "userSpecifiedCurrencyPremiumModifier" : 40,
                          "userSpecifiedCurrencyPromotionalModifier" : -40,
                          "userSpecifiedCurrencyTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          }
                        },
                        "ratePlanLevelFee" : {
                          "descriptions" : [ {
                            "creator" : "USER",
                            "description" : "This is a longer description in the specified language.",
                            "language" : "en",
                            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                          } ],
                          "fixedAmount" : 450.0,
                          "type" : "PER_DAY"
                        },
                        "unitPrice" : {
                          "internalBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "internalChannelModifier" : -10,
                          "internalPremiumModifier" : 40,
                          "internalPromotionalModifier" : -40,
                          "internalTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "quantity" : 1,
                          "sourceBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "sourceChannelModifier" : -10,
                          "sourcePremiumModifier" : 40,
                          "sourcePromotionalModifier" : -40,
                          "sourceToInternalCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceToUserCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyChannelModifier" : -10,
                          "userSpecifiedCurrencyPremiumModifier" : 40,
                          "userSpecifiedCurrencyPromotionalModifier" : -40,
                          "userSpecifiedCurrencyTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          }
                        }
                      } ],
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "guestUser" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "profile" : {
                        "createdDate" : "2026-01-14T09:30:00",
                        "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "lastUpdate" : "2026-02-03T16:45:12",
                        "personal" : {
                          "address1" : "123 Petchburi Road",
                          "address2" : "Ratchathewi District",
                          "birthDate" : "1985-06-15",
                          "childQuantity" : 2,
                          "citizenship" : "Thailand",
                          "city" : "Bangkok",
                          "contactPerson" : [ {
                            "email" : "johnsmith@email.com",
                            "firstName" : "Alexandra",
                            "fullName" : "Alexandra Beaumont",
                            "lastName" : "Beaumont",
                            "phoneNumber" : "+12125551212",
                            "secondaryEmail" : "johnsmith2@email.com",
                            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                          } ],
                          "country" : "TH",
                          "gender" : "FEMALE",
                          "language" : "en",
                          "maritalStatus" : "MARRIED",
                          "petInfo" : [ {
                            "name" : "Luna",
                            "type" : "Golden Retriever"
                          } ],
                          "postalCode" : "10400",
                          "preferredCurrency" : "USD",
                          "state" : "Bangkok"
                        },
                        "preferences" : {
                          "bedTypePref" : "King bed",
                          "cuisinePref" : "Thai",
                          "foodSrvcPref" : "In-room dining",
                          "guestType" : "Business traveler",
                          "hotelChainPref" : "Mandarin Oriental",
                          "mealPref" : "Continental breakfast",
                          "physChalFeaturePref" : "Wheelchair accessible rooms",
                          "propertyLocationPref" : "Beachfront",
                          "propertyTypePref" : "Luxury Resort",
                          "roomLocationPref" : "High floor with city view",
                          "smokingAllowed" : false
                        },
                        "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "share" : true,
                        "user" : {
                          "email" : "alexandra@beaumont.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phone" : "+66212658866",
                          "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                        },
                        "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                        "version" : 3
                      },
                      "telephone" : "+1 212 555 1212",
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                    },
                    "internalTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "perkTypes" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
                    "price" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "list" : [ {
                        "adults" : 2,
                        "channelDiscountPercent" : 5.0,
                        "children" : 0,
                        "date" : "2026-07-14",
                        "financialBreakdown" : {
                          "beneficiaryList" : [ {
                            "accountEmail" : "reservations@thesiamresidences.com",
                            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                            "accountName" : "The Siam Residences, Bangkok",
                            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                            "amountDue" : {
                              "percent" : 0.05
                            },
                            "displayAmount" : 450.0,
                            "displayAmountRefundModifier" : 45.0,
                            "displayCurrency" : "USD",
                            "internalAmount" : 450.0,
                            "internalAmountRefundModifier" : 45.0,
                            "internalCurrency" : "USD",
                            "netDisplayAmount" : 450.0,
                            "netInternalAmount" : 450.0,
                            "netSourceAmount" : 450.0,
                            "pendingRefunds" : [ {
                              "displayAmountRefundModifier" : 45.0,
                              "internalAmountRefundModifier" : 45.0,
                              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                              "sourceAmountRefundModifier" : 45.0
                            } ],
                            "reconciled" : false,
                            "sourceAmount" : 450.0,
                            "sourceAmountRefundModifier" : 45.0,
                            "sourceCurrency" : "THB"
                          } ],
                          "displayPriceQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "internalPriceQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          }
                        },
                        "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                        "internalBaseRate" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalRate" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "isEndDate" : false,
                        "isLastNight" : false,
                        "isStartDate" : true,
                        "offerDetails" : [ {
                          "creator" : "USER",
                          "description" : "This is a longer description in the specified language.",
                          "language" : "en",
                          "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                        } ],
                        "premiumPercent" : 0.0,
                        "promotionalDiscountPercent" : 10.0,
                        "quantity" : 2,
                        "rateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                        "ratePlanIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "rateSource" : "WINK",
                        "sourceBaseRate" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceRate" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseRate" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyRate" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      } ],
                      "offerDetails" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "quantity" : 2,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "quantity" : 1,
                    "ratePlan" : {
                      "allInclusive" : false,
                      "allInclusivePlusAlcohol" : false,
                      "breakfast" : false,
                      "brunch" : false,
                      "dinner" : false,
                      "earlyCheckInCharge" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "lateCheckOutCharge" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "lunch" : false,
                      "name" : "BAR 1"
                    },
                    "room" : {
                      "active" : true,
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "baseRate" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "bathroomCount" : 0,
                      "bedroomConfigurationList" : [ {
                        "bedroomList" : [ {
                          "bedList" : [ {
                            "bedTypeCode" : "1",
                            "quantity" : 2
                          } ],
                          "type" : "MASTER"
                        } ],
                        "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "name" : "Master Suite Layout"
                      } ],
                      "bookable" : true,
                      "commissionable" : true,
                      "composite" : false,
                      "compositeCount" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "createdDate" : "2026-01-14T09:30:00",
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                        "language" : "en",
                        "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                        "name" : "Deluxe River View Suite"
                      } ],
                      "featuredInd" : false,
                      "floor" : "3",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "includedAdultOccupancy" : 2,
                      "includedChildOccupancy" : 0,
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                      "livingRoomCount" : 0,
                      "location" : {
                        "coordinates" : [ 100.5581533, 13.7370197 ],
                        "type" : "POINT"
                      },
                      "maxAdultOccupancy" : 1,
                      "maxChildOccupancy" : 0,
                      "maxCribs" : 1,
                      "maxOccupancy" : 2,
                      "maxRollaways" : 0,
                      "minAgeAppropriateCode" : "1",
                      "minOccupancy" : 1,
                      "minRate" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "multimedias" : [ {
                        "angle" : null,
                        "attribution" : [ ],
                        "category" : "2",
                        "descriptions" : [ {
                          "description" : "Elegant lobby of The Siam Residences",
                          "language" : "en",
                          "title" : "Lobby Entrance"
                        } ],
                        "height" : 1600,
                        "identifier" : "the-siam-residences/lobby-entrance",
                        "isLandscape" : true,
                        "lifestyleType" : null,
                        "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "published" : true,
                        "sort" : 10,
                        "source" : "CLOUDINARY",
                        "type" : "IMAGE",
                        "width" : 2560
                      } ],
                      "name" : "Archery lesson",
                      "nonSmoking" : true,
                      "pricePoint" : "THREE",
                      "proximityCode" : "1",
                      "publishStatus" : "PUBLISHED",
                      "quantity" : 40,
                      "recognitionList" : [ {
                        "category" : "AWARD",
                        "date" : "2026-01-14",
                        "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "maxRating" : 10.0,
                        "officialAppointmentInd" : true,
                        "provider" : "Michelin",
                        "rating" : 8.5,
                        "ratingSymbol" : "*",
                        "type" : "PERCENT_RATING"
                      } ],
                      "roomArchitectureCode" : "1",
                      "roomCategory" : "1",
                      "roomClassificationCode" : "1",
                      "roomGender" : "Female",
                      "roomLocationCode" : "1",
                      "roomViewCode" : "1",
                      "sharedRoomInd" : false,
                      "size" : 55,
                      "socials" : [ {
                        "location" : "https://www.instagram.com/thesiamresidences",
                        "type" : "INSTAGRAM"
                      } ],
                      "sort" : 1,
                      "transactionalInventoryList" : [ {
                        "basePrice" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "descriptions" : [ {
                          "creator" : "USER",
                          "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                          "language" : "en",
                          "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                          "name" : "Deluxe River View Suite"
                        } ],
                        "discountedPrice" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "maxPax" : 10,
                        "minPax" : 2,
                        "multimedias" : [ {
                          "angle" : null,
                          "attribution" : [ ],
                          "category" : "2",
                          "descriptions" : [ {
                            "description" : "Elegant lobby of The Siam Residences",
                            "language" : "en",
                            "title" : "Lobby Entrance"
                          } ],
                          "height" : 1600,
                          "identifier" : "the-siam-residences/lobby-entrance",
                          "isLandscape" : true,
                          "lifestyleType" : null,
                          "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                          "published" : true,
                          "sort" : 10,
                          "source" : "CLOUDINARY",
                          "type" : "IMAGE",
                          "width" : 2560
                        } ],
                        "name" : "1 hour session",
                        "percentDiscount" : 0.1,
                        "percentPremium" : 0.1,
                        "pricingType" : "PER_NIGHT"
                      } ],
                      "version" : 3
                    },
                    "roomImageUrl" : "https://path.to/room-image.jpg",
                    "roomRateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                    "roomRateInternalName" : "Master Rate 1",
                    "sourceTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "startDate" : "2025-12-24",
                    "userSpecifiedCurrencyTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    }
                  },
                  "roomTypeAncillaries" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "spas" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "statusHistory" : [ {
                    "actor" : "stripe-webhook",
                    "fromStatus" : "PENDING",
                    "reason" : "Payment confirmed by Stripe",
                    "timestamp" : "2026-01-15T10:30:00Z",
                    "toStatus" : "CONFIRMED"
                  } ],
                  "totalAffiliateAgencyFeesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalPaymentProcessingFeeSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalPlatformFeeSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalSalesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalSupplierAgencyFeesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSession" : {
                    "currency" : "USD",
                    "itinerary" : {
                      "endDate" : "2024-01-02",
                      "items" : [ {
                        "adults" : 2,
                        "children" : [ {
                          "age" : 8,
                          "quantity" : 2
                        } ]
                      } ],
                      "nights" : 7,
                      "startDate" : "2024-01-01"
                    },
                    "language" : "en",
                    "lifestyle" : "LUXURY",
                    "promotionalCodes" : [ "promo-1" ],
                    "selectedRoomConfigurationIndex" : 0
                  },
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/{bookingIdentifier}/report/pdf" : {
      "get" : {
        "tags" : [ "Booking" ],
        "summary" : "Download PDF",
        "description" : "Streams a generated PDF report of the booking's details as a file attachment.",
        "operationId" : "generate-booking-report",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Generate report for property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "bookingIdentifier",
          "in" : "path",
          "description" : "Generate report for this booking identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "PDF report streamed as a file attachment",
            "content" : {
              "application/pdf" : { }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/{bookingIdentifier}/cancellable" : {
      "get" : {
        "tags" : [ "Booking" ],
        "summary" : "Cancellable check",
        "description" : "Reports whether the booking (or its group) can still be cancelled by the property, taking cancellation policy and timing into account.",
        "operationId" : "is-booking-cancellable",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Check if booking can be cancelled for property with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "bookingIdentifier",
          "in" : "path",
          "description" : "Check if booking can be cancelled with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Cancellability status of the booking",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BookingCancellable_Supplier"
                },
                "example" : {
                  "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                  "cancellable" : true,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/roomrate/list" : {
      "get" : {
        "tags" : [ "Booking" ],
        "summary" : "Active master rates",
        "description" : "Returns the distinct master rates that have been booked at the property as key/value pairs, useful for building filter dropdowns over your dataset.",
        "operationId" : "show-active-master-rates",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show booked master rates for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Distinct master rates that have been booked at the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/owner/list" : {
      "get" : {
        "tags" : [ "Booking" ],
        "summary" : "Active affiliates",
        "description" : "Returns the distinct affiliates (and their channel type) that have driven bookings to the property as key/value pairs, useful for building filter dropdowns.",
        "operationId" : "show-active-affiliates",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show active affiliates for property with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Distinct affiliates that have driven bookings to the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                  }
                },
                "example" : [ {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/overview" : {
      "get" : {
        "tags" : [ "Booking" ],
        "summary" : "Sales overview",
        "description" : "Returns grouped sales metrics summarising the property's bookings for dashboard display.",
        "operationId" : "show-booking-overview",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show booking owned by this property",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Grouped sales metrics for the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GroupedBookingSalesMetrics_SupplierDetails"
                },
                "example" : {
                  "averageBookingAmount" : 4511.9,
                  "bookings" : 42,
                  "currencyCode" : "THB",
                  "totalPriceAmount" : 189500.0,
                  "type" : "BY_PROPERTY",
                  "typeIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "typeName" : "The Siam Residences, Bangkok"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/list" : {
      "get" : {
        "tags" : [ "Booking" ],
        "summary" : "List",
        "description" : "Returns a paginated list of bookings for the property, filterable by booking state and a free-text search on traveler email or name.",
        "operationId" : "show-hotel-bookings_1",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show bookings for property with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "state",
          "in" : "query",
          "description" : "Filter on the booking state",
          "required" : false,
          "schema" : {
            "type" : "string",
            "description" : "Temporal state of a booking relative to the current date, used for filtering and display purposes.",
            "enum" : [ "PAST", "PRESENT", "FUTURE", "CANCELLED", "CANCELLED_BY_GUEST", "CANCELLED_BY_HOTEL", "CANCELLED_BY_ENGINE", "ACTIVE" ]
          },
          "example" : "ACTIVE"
        }, {
          "name" : "pageNumber",
          "in" : "query",
          "description" : "Paginate booking list",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "minimum" : 0
          },
          "example" : 0
        }, {
          "name" : "maxResults",
          "in" : "query",
          "description" : "Limit number of records to return",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 30,
            "maximum" : 100
          },
          "example" : 20
        }, {
          "name" : "search",
          "in" : "query",
          "description" : "Filter on email, first or last name to further narrow down the result set",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : "Smith"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Page of property bookings; each item is a Booking. Results are paginated.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PageResponseBookingLightweight_Supplier"
                },
                "example" : {
                  "content" : [ {
                    "acquiringFee" : {
                      "internalAmount" : 450.0,
                      "shareNotStated" : false,
                      "sourceAmount" : 450.0,
                      "state" : "CAPTURED"
                    },
                    "activities" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "addOns" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "ancillaryList" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "attractions" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "beneficiaryList" : [ {
                      "accountEmail" : "reservations@thesiamresidences.com",
                      "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                      "accountName" : "The Siam Residences, Bangkok",
                      "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                      "amountDue" : {
                        "percent" : 0.05
                      },
                      "displayAmount" : 450.0,
                      "displayAmountRefundModifier" : 45.0,
                      "displayCurrency" : "USD",
                      "internalAmount" : 450.0,
                      "internalAmountRefundModifier" : 45.0,
                      "internalCurrency" : "USD",
                      "netDisplayAmount" : 450.0,
                      "netInternalAmount" : 450.0,
                      "netSourceAmount" : 450.0,
                      "pendingRefunds" : [ {
                        "displayAmountRefundModifier" : 45.0,
                        "internalAmountRefundModifier" : 45.0,
                        "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                        "sourceAmountRefundModifier" : 45.0
                      } ],
                      "reconciled" : false,
                      "sourceAmount" : 450.0,
                      "sourceAmountRefundModifier" : 45.0,
                      "sourceCurrency" : "THB"
                    } ],
                    "booker" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "telephone" : "+1 212 555 1212",
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                    },
                    "cancellation" : {
                      "cancelReason" : "Guest changed travel plans",
                      "cancellationType" : "FREE_CANCELLATION",
                      "cancelledOn" : "2026-01-15T10:30:00Z",
                      "cancellerType" : "TRAVELER",
                      "cancellerUserIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                      "groupRefundNotified" : false
                    },
                    "commissionableSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "customization" : {
                      "appendToPageTitle" : "Hotels with Benefits",
                      "cardDesign" : "DEFAULT",
                      "cardLayout" : "VERTICAL",
                      "city" : {
                        "admin1Code" : "40",
                        "admin2Code" : "2401",
                        "admin3Code" : "",
                        "admin4Code" : "",
                        "alternateCountryCodes" : [ ],
                        "alternateNames" : [ "Krung Thep", "BKK" ],
                        "asciiName" : "Bangkok",
                        "country" : {
                          "area" : 514000.0,
                          "capital" : "Bangkok",
                          "continent" : "AS",
                          "currencyCode" : "THB",
                          "currencyName" : "Baht",
                          "fips" : "TH",
                          "geoNameId" : "1605651",
                          "iso" : "TH",
                          "iso3" : "THA",
                          "isoNumeric" : 764,
                          "languages" : [ "th" ],
                          "name" : "Thailand",
                          "neighbors" : [ "LA", "MM", "KH", "MY" ],
                          "phone" : "66",
                          "population" : 69428524,
                          "postalCodeFormat" : "#####",
                          "postalCodeRegEx" : "^(\\d{5})$",
                          "topLevelDomain" : ".th"
                        },
                        "countryCode" : "TH",
                        "digitalElevationModel" : "3",
                        "elevation" : 5,
                        "featureClass" : "P",
                        "featureCode" : "PPLC",
                        "geoNameId" : "1609350",
                        "location" : {
                          "coordinates" : [ 100.5581533, 13.7370197 ],
                          "type" : "POINT"
                        },
                        "modificationDate" : "2023-06-15",
                        "name" : "Bangkok",
                        "population" : 10539415,
                        "radiusInMeters" : 50000,
                        "subCountry" : {
                          "asciiName" : "Bangkok",
                          "code" : "TH.40",
                          "countryCode" : "TH",
                          "geoNameId" : "1609350",
                          "name" : "Bangkok",
                          "subCountryCode" : "40"
                        },
                        "subSubCountry" : {
                          "asciiName" : "Bangkok District",
                          "code" : "TH.40.2401",
                          "countryCode" : "TH",
                          "geoNameId" : "1609352",
                          "name" : "Bangkok District",
                          "subCountryCode" : "40",
                          "subSubCountryCode" : "2401"
                        },
                        "timezone" : "Asia/Bangkok",
                        "type" : "CITY",
                        "urlName" : "bangkok-thailand"
                      },
                      "createdDate" : "2026-01-14T09:30:00",
                      "defaultCurrency" : "THB",
                      "defaultLanguage" : "en",
                      "defaultLifestyle" : "LIFESTYLE_HEALTH_FITNESS",
                      "endDate" : "2026-07-22",
                      "googleAnalyticsMeasurementId" : "G-ABCDEF1234",
                      "googleMapsAPIKey" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6",
                      "googleTagManagerContainerId" : "GTM-XXXXX",
                      "hostedBookingEngineUrl" : "https://book.thesiamresidences.com/reservations",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "layout" : "INFORMATIONAL",
                      "logos" : [ {
                        "angle" : null,
                        "attribution" : [ ],
                        "category" : "2",
                        "descriptions" : [ {
                          "description" : "Elegant lobby of The Siam Residences",
                          "language" : "en",
                          "title" : "Lobby Entrance"
                        } ],
                        "height" : 1600,
                        "identifier" : "the-siam-residences/lobby-entrance",
                        "isLandscape" : true,
                        "lifestyleType" : null,
                        "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "published" : true,
                        "sort" : 10,
                        "source" : "CLOUDINARY",
                        "type" : "IMAGE",
                        "width" : 2560
                      } ],
                      "name" : "Luxury Travel Portal",
                      "numberOfAdvanceDays" : 7,
                      "numberOfStayDays" : 3,
                      "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                      "ownerName" : "Premium Hotels International",
                      "primary" : true,
                      "roomConfiguration" : {
                        "adults" : 2,
                        "children" : [ {
                          "age" : 7,
                          "quantity" : 2
                        } ],
                        "quantity" : 2
                      },
                      "selfHosted" : true,
                      "sendBookingNotificationEmailsToBooker" : true,
                      "sendBookingNotificationEmailsToChannelManager" : true,
                      "sendBookingNotificationEmailsToProperty" : true,
                      "showRankings" : true,
                      "showSearch" : true,
                      "showUnavailableCard" : false,
                      "startDate" : "2026-07-15",
                      "subType" : "APPLICATION",
                      "themeColors" : {
                        "body" : "#212529",
                        "danger" : "#dc3545",
                        "dark" : "#343a40",
                        "info" : "#17a2b8",
                        "light" : "#f8f9fa",
                        "muted" : "#6c757d",
                        "primary" : "#dc3545",
                        "secondary" : "#6c757d",
                        "success" : "#28a745",
                        "warning" : "#ffc107",
                        "white" : "#ffffff"
                      },
                      "trackingPixels" : [ {
                        "accessToken" : "EAABsbCS0kB4BAAI...",
                        "consentCategory" : "MARKETING",
                        "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
                        "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
                        "enabled" : true,
                        "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
                        "name" : "Facebook Conversion Pixel",
                        "pixelId" : "1234567890",
                        "provider" : "FACEBOOK",
                        "triggers" : [ {
                          "eventType" : "PURCHASE",
                          "parameters" : [ {
                            "key" : "currency",
                            "value" : "USD"
                          } ]
                        } ],
                        "type" : "JAVASCRIPT"
                      } ],
                      "useDays" : true,
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                      "version" : 3,
                      "wcBookClickAction" : "IBE_MODAL"
                    },
                    "earlyCheckInCharge" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "feeModel" : "FIXED_PROCESSING_FEE",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "fundsAddedToLedger" : false,
                    "fundsProcessed" : false,
                    "guestUser" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "profile" : {
                        "createdDate" : "2026-01-14T09:30:00",
                        "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "lastUpdate" : "2026-02-03T16:45:12",
                        "personal" : {
                          "address1" : "123 Petchburi Road",
                          "address2" : "Ratchathewi District",
                          "birthDate" : "1985-06-15",
                          "childQuantity" : 2,
                          "citizenship" : "Thailand",
                          "city" : "Bangkok",
                          "contactPerson" : [ {
                            "email" : "johnsmith@email.com",
                            "firstName" : "Alexandra",
                            "fullName" : "Alexandra Beaumont",
                            "lastName" : "Beaumont",
                            "phoneNumber" : "+12125551212",
                            "secondaryEmail" : "johnsmith2@email.com",
                            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                          } ],
                          "country" : "TH",
                          "gender" : "FEMALE",
                          "language" : "en",
                          "maritalStatus" : "MARRIED",
                          "petInfo" : [ {
                            "name" : "Luna",
                            "type" : "Golden Retriever"
                          } ],
                          "postalCode" : "10400",
                          "preferredCurrency" : "USD",
                          "state" : "Bangkok"
                        },
                        "preferences" : {
                          "bedTypePref" : "King bed",
                          "cuisinePref" : "Thai",
                          "foodSrvcPref" : "In-room dining",
                          "guestType" : "Business traveler",
                          "hotelChainPref" : "Mandarin Oriental",
                          "mealPref" : "Continental breakfast",
                          "physChalFeaturePref" : "Wheelchair accessible rooms",
                          "propertyLocationPref" : "Beachfront",
                          "propertyTypePref" : "Luxury Resort",
                          "roomLocationPref" : "High floor with city view",
                          "smokingAllowed" : false
                        },
                        "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "share" : true,
                        "user" : {
                          "email" : "alexandra@beaumont.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phone" : "+66212658866",
                          "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                        },
                        "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                        "version" : 3
                      },
                      "telephone" : "+1 212 555 1212",
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                    },
                    "hotel" : {
                      "activities" : 3,
                      "addOns" : 5,
                      "address" : {
                        "city" : "Bangkok",
                        "countryCode" : "TH",
                        "line1" : "3/2 Khao Road",
                        "postalCode" : "10300",
                        "state" : "Bangkok"
                      },
                      "aggregateGreendexRating" : 7.0,
                      "aggregateReviewRating" : 8.7,
                      "architecturalStyle" : "7",
                      "attractions" : 5,
                      "available" : true,
                      "bookings" : 6054,
                      "brand" : "The Siam Residences",
                      "chain" : "The Siam Collection",
                      "currencyCode" : "THB",
                      "descriptions" : [ {
                        "description" : "An elegant riverside sanctuary in the heart of Bangkok.",
                        "language" : "en",
                        "title" : "Luxury Riverside Retreat"
                      } ],
                      "hotelAmenityCodes" : [ "1", "7" ],
                      "hotelCategory" : "45",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "images" : [ {
                        "identifier" : "the-siam-residences/lobby-entrance",
                        "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "published" : true,
                        "sort" : 10,
                        "type" : "IMAGE"
                      } ],
                      "lifestyleTypes" : [ "LIFESTYLE_HEALTH_FITNESS" ],
                      "localName" : "เดอะสยาม เรสซิเดนซ์",
                      "location" : {
                        "coordinates" : [ 100.5581533, 13.7370197 ],
                        "type" : "Point"
                      },
                      "locationCategory" : "34",
                      "meetingRooms" : 2,
                      "name" : "The Siam Residences, Bangkok",
                      "numberOfRooms" : 32,
                      "places" : 9,
                      "propertyAccessibilityCodes" : [ "1" ],
                      "propertySecurityCodes" : [ "7" ],
                      "reservations" : {
                        "email" : "reservations@thesiamresidences.com",
                        "firstName" : "Somchai",
                        "lastName" : "Phattanapong",
                        "phone" : "+66-2-123-4567"
                      },
                      "restaurants" : 2,
                      "score" : 70,
                      "segmentCategory" : "7",
                      "socials" : [ {
                        "handle" : "thesiamresidences",
                        "platform" : "INSTAGRAM"
                      } ],
                      "spas" : 1,
                      "starRating" : 5,
                      "thirdPartyReviews" : [ ],
                      "totalReviews" : 989,
                      "uniqueId" : "siam-residences-bkk",
                      "urlName" : "the-siam-residences-bangkok-thailand",
                      "videos" : [ ],
                      "whenBuilt" : "1927"
                    },
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "meetingRooms" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "netTotalFeesAndCommissionsSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "netTotalSalesSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "netTotalSalesSourceAmountOrZero" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "paymentDetails" : {
                      "acquiringFeeCapture" : {
                        "apportionedAcross" : 3,
                        "balanceTransactionIdentifier" : "txn_abc123",
                        "capturedDate" : "2026-09-11T03:07:58.742",
                        "chargeFee" : 450.0,
                        "chargeIdentifier" : "ch_abc123",
                        "source" : "WEBHOOK"
                      },
                      "acquiringFeeState" : "CAPTURED",
                      "agentInvoiceIdentifier" : "invoice-1",
                      "agentInvoicedDate" : "2017-12-22T03:07:58.742+0000",
                      "chargeIdentifier" : "ch_abc123",
                      "customerIdentifier" : "cus_abc123",
                      "fees" : [ {
                        "description" : "Fee charged for booking confirmation",
                        "fee" : 450.0,
                        "identifier" : "ABC1234",
                        "type" : "BOOKING"
                      } ],
                      "selfAcquires" : false,
                      "selfDisburses" : false,
                      "sessionIdentifier" : "s_abc123",
                      "transactionIdentifier" : "pi_3abc123",
                      "vendor" : "STRIPE"
                    },
                    "payoutList" : [ {
                      "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                      "accountName" : "Hotel Sunrise",
                      "beneficiaryType" : "SALE",
                      "displayAmount" : 12.75,
                      "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "internalAmount" : 12.75,
                      "processedDate" : "2026-01-15T10:30:00Z",
                      "sourceAmount" : 450.0,
                      "status" : "COMPLETED",
                      "withdrawalId" : "tr_abc123"
                    } ],
                    "places" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "refund" : {
                      "cancelOnRefund" : "NONE",
                      "createdDate" : "2026-01-15T10:30:00Z",
                      "description" : "Guest requested cancellation",
                      "displayAmount" : 12.75,
                      "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "internalAmount" : 12.75,
                      "processedDate" : "2026-01-15T10:30:00Z",
                      "reason" : "REQUESTED_BY_CUSTOMER",
                      "receiptUrl" : "https://pay.stripe.com/receipts/abc123",
                      "requestor" : "BY_ADMIN",
                      "response" : "Approved — refunding 50% per policy.",
                      "sourceAmount" : 450.0,
                      "status" : "SUCCEEDED",
                      "stripeRefundFee" : 0.5,
                      "stripeRefundId" : "re_abc123"
                    },
                    "refundFee" : {
                      "internalAmount" : 450.0,
                      "shareNotStated" : false,
                      "sourceAmount" : 450.0,
                      "state" : "CAPTURED"
                    },
                    "reportingAncillaryList" : [ {
                      "currency" : "USD",
                      "grossAmount" : 450.0,
                      "name" : "Thai Massage",
                      "netAmount" : 405.0,
                      "netAmountWithRefund" : 405.0
                    } ],
                    "reportingDailyRateList" : [ {
                      "baseAmount" : 450.0,
                      "currency" : "USD",
                      "date" : "2026-01-15",
                      "grossAmount" : 405.0,
                      "netAmount" : 360.0,
                      "netAmountWithRefund" : 360.0
                    } ],
                    "reportingExtraChargeList" : [ {
                      "currency" : "USD",
                      "description" : "The charge is 50.00 USD and is charged per day.",
                      "grossAmount" : 450.0,
                      "name" : "Late checkout fee",
                      "netAmount" : 405.0,
                      "netAmountWithRefund" : 405.0
                    } ],
                    "restaurants" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "review" : {
                      "answers" : [ {
                        "category" : "SERVICE",
                        "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
                        "sort" : 1,
                        "value" : 7
                      } ],
                      "approvedImage" : false,
                      "approvedText" : true,
                      "averageScore" : 8.7,
                      "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
                      "responded" : false,
                      "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
                      "reviewDate" : "2026-01-14T09:30:00",
                      "roomNumber" : "501",
                      "roomRating" : 9,
                      "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
                      "user" : {
                        "email" : "reservations@thesiamresidences.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "telephone" : "+66 2 126 8866",
                        "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                      },
                      "version" : 3
                    },
                    "roomStay" : {
                      "activeCancellationPolicy" : {
                        "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                        "createdDate" : "2026-01-14T09:30:00",
                        "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                        "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "lastUpdate" : "2026-02-03T16:45:12",
                        "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                        "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                        "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                        "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                        "refundable" : false,
                        "refundableCancellationCharge" : "FIFTY_PERCENT",
                        "version" : 3
                      },
                      "adults" : 2,
                      "ancillaryList" : [ {
                        "address" : {
                          "address1" : "234 Near da beach",
                          "address2" : "Pebble #5001",
                          "city" : "Bangkok",
                          "country" : "United States",
                          "countryCode" : "TH",
                          "county" : "Alameda county",
                          "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                          "postalCode" : "90210",
                          "state" : "CA"
                        },
                        "attendees" : 2,
                        "contact" : {
                          "email" : "johnsmith@email.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phoneNumber" : "+12125551212",
                          "secondaryEmail" : "johnsmith2@email.com",
                          "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                        },
                        "endDate" : "2017-12-22T08:07:58.742+0000",
                        "financialBreakdown" : {
                          "beneficiaryList" : [ {
                            "accountEmail" : "reservations@thesiamresidences.com",
                            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                            "accountName" : "The Siam Residences, Bangkok",
                            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                            "amountDue" : {
                              "percent" : 0.05
                            },
                            "displayAmount" : 450.0,
                            "displayAmountRefundModifier" : 45.0,
                            "displayCurrency" : "USD",
                            "internalAmount" : 450.0,
                            "internalAmountRefundModifier" : 45.0,
                            "internalCurrency" : "USD",
                            "netDisplayAmount" : 450.0,
                            "netInternalAmount" : 450.0,
                            "netSourceAmount" : 450.0,
                            "pendingRefunds" : [ {
                              "displayAmountRefundModifier" : 45.0,
                              "internalAmountRefundModifier" : 45.0,
                              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                              "sourceAmountRefundModifier" : 45.0
                            } ],
                            "reconciled" : false,
                            "sourceAmount" : 450.0,
                            "sourceAmountRefundModifier" : 45.0,
                            "sourceCurrency" : "THB"
                          } ],
                          "displayPriceQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "internalPriceQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          }
                        },
                        "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                        "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                        "imageIdentifier" : "cloudinary-image-1",
                        "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                        "localizedDescription" : "place-1",
                        "localizedName" : "Plass 1",
                        "name" : "Thai Massage Spa Treatment",
                        "price" : {
                          "internalBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "internalChannelModifier" : -10,
                          "internalPremiumModifier" : 40,
                          "internalPromotionalModifier" : -40,
                          "internalTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "quantity" : 1,
                          "sourceBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "sourceChannelModifier" : -10,
                          "sourcePremiumModifier" : 40,
                          "sourcePromotionalModifier" : -40,
                          "sourceToInternalCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceToUserCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyChannelModifier" : -10,
                          "userSpecifiedCurrencyPremiumModifier" : 40,
                          "userSpecifiedCurrencyPromotionalModifier" : -40,
                          "userSpecifiedCurrencyTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          }
                        },
                        "pricingType" : "PER_USE",
                        "startDate" : "2017-12-22T03:07:58.742+0000",
                        "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                        "type" : "ADD_ON",
                        "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                      } ],
                      "bedroomConfiguration" : {
                        "bedroomList" : [ {
                          "bedList" : [ {
                            "bedTypeCode" : "1",
                            "quantity" : 2
                          } ],
                          "type" : "MASTER"
                        } ],
                        "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "name" : "Master Suite Layout"
                      },
                      "children" : 0,
                      "endDate" : "2025-12-27",
                      "extraCharges" : {
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "items" : [ {
                          "price" : {
                            "internalBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "internalChannelModifier" : -10,
                            "internalPremiumModifier" : 40,
                            "internalPromotionalModifier" : -40,
                            "internalTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "quantity" : 1,
                            "sourceBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "sourceChannelModifier" : -10,
                            "sourcePremiumModifier" : 40,
                            "sourcePromotionalModifier" : -40,
                            "sourceToInternalCurrencyQuote" : {
                              "exchangeRate" : 33.5,
                              "source" : "USD",
                              "target" : "THB",
                              "timestamp" : 1705233000000
                            },
                            "sourceToUserCurrencyQuote" : {
                              "exchangeRate" : 33.5,
                              "source" : "USD",
                              "target" : "THB",
                              "timestamp" : 1705233000000
                            },
                            "sourceTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "userSpecifiedCurrencyBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "userSpecifiedCurrencyChannelModifier" : -10,
                            "userSpecifiedCurrencyPremiumModifier" : 40,
                            "userSpecifiedCurrencyPromotionalModifier" : -40,
                            "userSpecifiedCurrencyTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            }
                          },
                          "ratePlanLevelFee" : {
                            "descriptions" : [ {
                              "creator" : "USER",
                              "description" : "This is a longer description in the specified language.",
                              "language" : "en",
                              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                            } ],
                            "fixedAmount" : 450.0,
                            "type" : "PER_DAY"
                          },
                          "unitPrice" : {
                            "internalBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "internalChannelModifier" : -10,
                            "internalPremiumModifier" : 40,
                            "internalPromotionalModifier" : -40,
                            "internalTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "quantity" : 1,
                            "sourceBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "sourceChannelModifier" : -10,
                            "sourcePremiumModifier" : 40,
                            "sourcePromotionalModifier" : -40,
                            "sourceToInternalCurrencyQuote" : {
                              "exchangeRate" : 33.5,
                              "source" : "USD",
                              "target" : "THB",
                              "timestamp" : 1705233000000
                            },
                            "sourceToUserCurrencyQuote" : {
                              "exchangeRate" : 33.5,
                              "source" : "USD",
                              "target" : "THB",
                              "timestamp" : 1705233000000
                            },
                            "sourceTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "userSpecifiedCurrencyBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "userSpecifiedCurrencyChannelModifier" : -10,
                            "userSpecifiedCurrencyPremiumModifier" : 40,
                            "userSpecifiedCurrencyPromotionalModifier" : -40,
                            "userSpecifiedCurrencyTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            }
                          }
                        } ],
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "guestUser" : {
                        "email" : "reservations@thesiamresidences.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "profile" : {
                          "createdDate" : "2026-01-14T09:30:00",
                          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                          "lastUpdate" : "2026-02-03T16:45:12",
                          "personal" : {
                            "address1" : "123 Petchburi Road",
                            "address2" : "Ratchathewi District",
                            "birthDate" : "1985-06-15",
                            "childQuantity" : 2,
                            "citizenship" : "Thailand",
                            "city" : "Bangkok",
                            "contactPerson" : [ {
                              "email" : "johnsmith@email.com",
                              "firstName" : "Alexandra",
                              "fullName" : "Alexandra Beaumont",
                              "lastName" : "Beaumont",
                              "phoneNumber" : "+12125551212",
                              "secondaryEmail" : "johnsmith2@email.com",
                              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                            } ],
                            "country" : "TH",
                            "gender" : "FEMALE",
                            "language" : "en",
                            "maritalStatus" : "MARRIED",
                            "petInfo" : [ {
                              "name" : "Luna",
                              "type" : "Golden Retriever"
                            } ],
                            "postalCode" : "10400",
                            "preferredCurrency" : "USD",
                            "state" : "Bangkok"
                          },
                          "preferences" : {
                            "bedTypePref" : "King bed",
                            "cuisinePref" : "Thai",
                            "foodSrvcPref" : "In-room dining",
                            "guestType" : "Business traveler",
                            "hotelChainPref" : "Mandarin Oriental",
                            "mealPref" : "Continental breakfast",
                            "physChalFeaturePref" : "Wheelchair accessible rooms",
                            "propertyLocationPref" : "Beachfront",
                            "propertyTypePref" : "Luxury Resort",
                            "roomLocationPref" : "High floor with city view",
                            "smokingAllowed" : false
                          },
                          "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                          "share" : true,
                          "user" : {
                            "email" : "alexandra@beaumont.com",
                            "firstName" : "Alexandra",
                            "fullName" : "Alexandra Beaumont",
                            "lastName" : "Beaumont",
                            "phone" : "+66212658866",
                            "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                          },
                          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                          "version" : 3
                        },
                        "telephone" : "+1 212 555 1212",
                        "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                      },
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "perkTypes" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
                      "price" : {
                        "financialBreakdown" : {
                          "beneficiaryList" : [ {
                            "accountEmail" : "reservations@thesiamresidences.com",
                            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                            "accountName" : "The Siam Residences, Bangkok",
                            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                            "amountDue" : {
                              "percent" : 0.05
                            },
                            "displayAmount" : 450.0,
                            "displayAmountRefundModifier" : 45.0,
                            "displayCurrency" : "USD",
                            "internalAmount" : 450.0,
                            "internalAmountRefundModifier" : 45.0,
                            "internalCurrency" : "USD",
                            "netDisplayAmount" : 450.0,
                            "netInternalAmount" : 450.0,
                            "netSourceAmount" : 450.0,
                            "pendingRefunds" : [ {
                              "displayAmountRefundModifier" : 45.0,
                              "internalAmountRefundModifier" : 45.0,
                              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                              "sourceAmountRefundModifier" : 45.0
                            } ],
                            "reconciled" : false,
                            "sourceAmount" : 450.0,
                            "sourceAmountRefundModifier" : 45.0,
                            "sourceCurrency" : "THB"
                          } ],
                          "displayPriceQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "internalPriceQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          }
                        },
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "offerDetails" : [ {
                          "creator" : "USER",
                          "description" : "This is a longer description in the specified language.",
                          "language" : "en",
                          "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                        } ],
                        "quantity" : 2,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "quantity" : 1,
                      "ratePlan" : {
                        "allInclusive" : false,
                        "allInclusivePlusAlcohol" : false,
                        "breakfast" : false,
                        "brunch" : false,
                        "dinner" : false,
                        "earlyCheckInCharge" : {
                          "fixedAmount" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "percent" : 0.25,
                          "type" : "PERCENTAGE"
                        },
                        "lateCheckOutCharge" : {
                          "fixedAmount" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "percent" : 0.25,
                          "type" : "PERCENTAGE"
                        },
                        "lunch" : false,
                        "name" : "BAR 1"
                      },
                      "room" : {
                        "active" : true,
                        "address" : {
                          "address1" : "234 Near da beach",
                          "address2" : "Pebble #5001",
                          "city" : "Bangkok",
                          "country" : "United States",
                          "countryCode" : "TH",
                          "county" : "Alameda county",
                          "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                          "postalCode" : "90210",
                          "state" : "CA"
                        },
                        "baseRate" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "bathroomCount" : 0,
                        "bedroomConfigurationList" : [ {
                          "bedroomList" : [ {
                            "bedList" : [ {
                              "bedTypeCode" : "1",
                              "quantity" : 2
                            } ],
                            "type" : "MASTER"
                          } ],
                          "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                          "name" : "Master Suite Layout"
                        } ],
                        "bookable" : true,
                        "commissionable" : true,
                        "composite" : false,
                        "compositeCount" : 2,
                        "contact" : {
                          "email" : "johnsmith@email.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phoneNumber" : "+12125551212",
                          "secondaryEmail" : "johnsmith2@email.com",
                          "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                        },
                        "createdDate" : "2026-01-14T09:30:00",
                        "descriptions" : [ {
                          "creator" : "USER",
                          "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                          "language" : "en",
                          "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                          "name" : "Deluxe River View Suite"
                        } ],
                        "featuredInd" : false,
                        "floor" : "3",
                        "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                        "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "includedAdultOccupancy" : 2,
                        "includedChildOccupancy" : 0,
                        "lastUpdate" : "2026-02-03T16:45:12",
                        "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                        "livingRoomCount" : 0,
                        "location" : {
                          "coordinates" : [ 100.5581533, 13.7370197 ],
                          "type" : "POINT"
                        },
                        "maxAdultOccupancy" : 1,
                        "maxChildOccupancy" : 0,
                        "maxCribs" : 1,
                        "maxOccupancy" : 2,
                        "maxRollaways" : 0,
                        "minAgeAppropriateCode" : "1",
                        "minOccupancy" : 1,
                        "minRate" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "multimedias" : [ {
                          "angle" : null,
                          "attribution" : [ ],
                          "category" : "2",
                          "descriptions" : [ {
                            "description" : "Elegant lobby of The Siam Residences",
                            "language" : "en",
                            "title" : "Lobby Entrance"
                          } ],
                          "height" : 1600,
                          "identifier" : "the-siam-residences/lobby-entrance",
                          "isLandscape" : true,
                          "lifestyleType" : null,
                          "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                          "published" : true,
                          "sort" : 10,
                          "source" : "CLOUDINARY",
                          "type" : "IMAGE",
                          "width" : 2560
                        } ],
                        "name" : "Archery lesson",
                        "nonSmoking" : true,
                        "pricePoint" : "THREE",
                        "proximityCode" : "1",
                        "publishStatus" : "PUBLISHED",
                        "quantity" : 40,
                        "recognitionList" : [ {
                          "category" : "AWARD",
                          "date" : "2026-01-14",
                          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                          "maxRating" : 10.0,
                          "officialAppointmentInd" : true,
                          "provider" : "Michelin",
                          "rating" : 8.5,
                          "ratingSymbol" : "*",
                          "type" : "PERCENT_RATING"
                        } ],
                        "roomArchitectureCode" : "1",
                        "roomCategory" : "1",
                        "roomClassificationCode" : "1",
                        "roomGender" : "Female",
                        "roomLocationCode" : "1",
                        "roomViewCode" : "1",
                        "sharedRoomInd" : false,
                        "size" : 55,
                        "socials" : [ {
                          "location" : "https://www.instagram.com/thesiamresidences",
                          "type" : "INSTAGRAM"
                        } ],
                        "sort" : 1,
                        "transactionalInventoryList" : [ {
                          "basePrice" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "descriptions" : [ {
                            "creator" : "USER",
                            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                            "language" : "en",
                            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                            "name" : "Deluxe River View Suite"
                          } ],
                          "discountedPrice" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                          "maxPax" : 10,
                          "minPax" : 2,
                          "multimedias" : [ {
                            "angle" : null,
                            "attribution" : [ ],
                            "category" : "2",
                            "descriptions" : [ {
                              "description" : "Elegant lobby of The Siam Residences",
                              "language" : "en",
                              "title" : "Lobby Entrance"
                            } ],
                            "height" : 1600,
                            "identifier" : "the-siam-residences/lobby-entrance",
                            "isLandscape" : true,
                            "lifestyleType" : null,
                            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                            "published" : true,
                            "sort" : 10,
                            "source" : "CLOUDINARY",
                            "type" : "IMAGE",
                            "width" : 2560
                          } ],
                          "name" : "1 hour session",
                          "percentDiscount" : 0.1,
                          "percentPremium" : 0.1,
                          "pricingType" : "PER_NIGHT"
                        } ],
                        "version" : 3
                      },
                      "roomImageUrl" : "https://path.to/room-image.jpg",
                      "roomRateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                      "roomRateInternalName" : "Master Rate 1",
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "startDate" : "2025-12-24",
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "roomTypeAncillaries" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "socials" : [ {
                      "location" : "https://www.instagram.com/thesiamresidences",
                      "type" : "INSTAGRAM"
                    } ],
                    "spas" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "statusHistory" : [ {
                      "actor" : "stripe-webhook",
                      "fromStatus" : "PENDING",
                      "reason" : "Payment confirmed by Stripe",
                      "timestamp" : "2026-01-15T10:30:00Z",
                      "toStatus" : "CONFIRMED"
                    } ],
                    "totalAffiliateAgencyFeesSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "totalPaymentProcessingFeeSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "totalPlatformFeeSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "totalSalesSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "totalSupplierAgencyFeesSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "userSession" : {
                      "currency" : "USD",
                      "itinerary" : {
                        "endDate" : "2024-01-02",
                        "items" : [ {
                          "adults" : 2,
                          "children" : [ {
                            "age" : 8,
                            "quantity" : 2
                          } ]
                        } ],
                        "nights" : 7,
                        "startDate" : "2024-01-01"
                      },
                      "language" : "en",
                      "lifestyle" : "LUXURY",
                      "promotionalCodes" : [ "promo-1" ],
                      "selectedRoomConfigurationIndex" : 0
                    },
                    "version" : 3
                  } ],
                  "first" : true,
                  "last" : false,
                  "number" : 0,
                  "numberOfElements" : 20,
                  "size" : 20,
                  "totalElements" : 1234,
                  "totalPages" : 62
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/announcement/list" : {
      "get" : {
        "tags" : [ "Announcement" ],
        "summary" : "List announcements",
        "description" : "Returns all announcements configured for the given property. Requires CONTENT:READ on the managing entity. Returns an empty array if no announcements are configured.",
        "operationId" : "show-announcements",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the property (managing entity)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Array of announcements for the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AnnouncementLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "endDate" : "2026-04-15",
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "showAlways" : false,
                  "showTitle" : true,
                  "startDate" : "2026-03-01",
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/list" : {
      "get" : {
        "tags" : [ "Add-On" ],
        "summary" : "List all add-ons",
        "description" : "Retrieves a list of all add-ons configured for the specified property. Requires INVENTORY:READ permission on the property.",
        "operationId" : "show-add-ons",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier for which to retrieve add-ons",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-ons belonging to the property retrieved successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AddOnLightweight"
                  }
                },
                "example" : [ {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/cal/property/{managingEntityIdentifier}/booking/list" : {
      "get" : {
        "tags" : [ "Calendar Sync" ],
        "summary" : "iCalendar booking feed",
        "description" : "Returns the property's confirmed bookings rendered in iCalendar (iCal/ICS) format. Subscribe to this feed URL from your calendar application (Google Calendar, Apple Calendar, Outlook, etc.) to display bookings as calendar events. Requires valid CalDAV passkey authentication.",
        "operationId" : "caldav",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the property for which to retrieve the iCalendar booking feed",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/property" : {
      "post" : {
        "tags" : [ "Registration" ],
        "summary" : "Register property from lead",
        "description" : "Onboards a new property from an existing Google-sourced lead using the minimum required dataset. The lead must have been created via the lead registration endpoint. Attributes the property to the authenticated user and managing entity, capturing the caller's IP for audit purposes.",
        "operationId" : "register-property",
        "parameters" : [ {
          "name" : "leadId",
          "in" : "query",
          "description" : "The UUID of a Google-sourced lead (created via POST /api/lead). The lead must exist and belong to the authenticated user.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Minimum required dataset for onboarding a new property from an existing Google-sourced lead, including name, address, and contact details",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IntelligentPropertyRegistrationRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Property successfully created and returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/report/csv" : {
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Generate",
        "description" : "Generates a CSV report filtered to show only bookings associated with the specified property. The report excludes failed bookings and shows inventory-specific metrics.",
        "operationId" : "generate-property-report",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Unique identifier for the property (hotel) managing entity",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Report query specifying the data sources, filters, date range, and output columns for the property bookings CSV report",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ReportQuery"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "CSV report generated successfully and returned as a file download",
            "content" : {
              "text/csv" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/schedule/{inventoryIdentifier}" : {
      "post" : {
        "tags" : [ "Scheduler" ],
        "summary" : "Create a new schedule item",
        "description" : "Creates a new calendar item (schedule event) for a piece of inventory such as a meeting room, restaurant, spa, activity, attraction or place. The item is persisted and returned with a generated identifier. Supports recurring events via the recurrenceRule parameter.",
        "operationId" : "create-schedule-item",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Identifier of the managing entity (property/company) that owns the inventory",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "inventoryIdentifier",
          "in" : "path",
          "description" : "Identifier of the travel inventory to create a schedule item for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Schedule item details including title, start and end times, timezone, attendee count, and optional recurrence rule for repeating events",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateScheduleItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Schedule item created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScheduleItemLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sandbox/room/list" : {
      "post" : {
        "tags" : [ "Daily Rate" ],
        "summary" : "Test availability",
        "description" : "Runs a sandbox search against the selected sales channel and returns the available and unavailable rooms, with descriptive daily rate detail, so the property can verify its rates resolve correctly.",
        "operationId" : "show-descriptive-inventory",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Display available room for property ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "hotel-1"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Rate verification request containing the sales channel identifier, occupancy and desired stay dates to test against",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/VerifyRatesRequest_SupplierDetails"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DescriptiveRoom_SupplierDetails"
                  }
                },
                "example" : [ {
                  "accessibleAvailability" : [ {
                    "available" : true,
                    "room" : {
                      "identifier" : "8b1a6f0c-3d7e-9f5a-4b2c-1d9e5f3a7b06"
                    }
                  } ],
                  "accessibleInventory" : [ {
                    "identifier" : "5e8d3c7f-0a4b-6c2d-1e9f-8a6b2c0d4e73"
                  } ],
                  "accessibleMasterRates" : [ {
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "name" : "Flexible Rate"
                  } ],
                  "accessibleRatePlans" : [ {
                    "identifier" : "6f9e4d8a-1b5c-7d3e-2f0a-9b7c3d1e5f84",
                    "name" : "Standard Plan",
                    "reasons" : [ "Rate plan matches itinerary" ]
                  } ],
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "inaccessibleAvailability" : [ {
                    "identifier" : "9c2b7a1d-4e8f-0a6b-5c3d-2e0f6a4b8c17",
                    "name" : "Presidential Suite",
                    "reasons" : [ "No availability for selected dates" ]
                  } ],
                  "inaccessibleMasterRates" : [ {
                    "identifier" : "4d7c2b6e-9f3a-5b1c-0d8e-7f5a1b9c3d62",
                    "name" : "Non-refundable Rate",
                    "reasons" : [ "Rate not available for selected dates" ]
                  } ],
                  "inaccessibleRatePlans" : [ {
                    "identifier" : "7a0f5e9b-2c6d-8e4f-3a1b-0c8d4e2f6a95",
                    "name" : "Corporate Plan",
                    "reasons" : [ "Corporate code required" ]
                  } ],
                  "roomName" : "Deluxe Suite"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sandbox/booking" : {
      "post" : {
        "tags" : [ "Test Booking" ],
        "summary" : "Sandbox",
        "description" : "Runs a sandbox booking so the property can verify a sales channel returns the expected rates and availability.",
        "operationId" : "create-test-booking",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Create test booking for property with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Sandbox booking details including the channel inventory identifier, occupancy, check-in/check-out dates and optional IP number for geo-pricing",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BookingTestRequest_SupplierDetails"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Sandbox booking created and returned",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BookingLightweight_SupplierDetails"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/inventory/grid" : {
      "post" : {
        "tags" : [ "Inventory" ],
        "summary" : "Search",
        "description" : "Returns a paged, filtered and sorted page of inventory for the given property based on the supplied grid State (paging, sorting and filter criteria) in the request body.",
        "operationId" : "show-pageable-channel-inventory",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The property ID to retrieve inventory grid for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Filter grid by state request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/State_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Paginated inventory records matching the supplied filter criteria",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PageResponseInventoryLightweight_Supplier"
                },
                "example" : {
                  "content" : [ {
                    "address" : {
                      "city" : {
                        "country" : {
                          "continent" : "AS",
                          "countryCode" : "TH",
                          "geoNameId" : "1605651",
                          "name" : "Thailand"
                        },
                        "geoNameId" : "1609350",
                        "name" : "Bangkok"
                      },
                      "countryCode" : "TH",
                      "line1" : "9 Thanon Krung Thonburi",
                      "postalCode" : "10600",
                      "state" : "Bangkok"
                    },
                    "bookable" : true,
                    "commissionable" : true,
                    "createdDate" : "2026-01-14T09:30:00",
                    "enabled" : true,
                    "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "image" : {
                      "descriptions" : [ {
                        "description" : "Spacious deluxe room with panoramic city views",
                        "language" : "en",
                        "title" : "Deluxe City View Room"
                      } ],
                      "identifier" : "the-siam-residences/deluxe-room-city-view",
                      "isLandscape" : true,
                      "multimediaIdentifier" : "2b4d6f8a-0c2e-4a6b-8d0f-2c4e6a8b0d2f",
                      "published" : true,
                      "sort" : 10,
                      "type" : "IMAGE"
                    },
                    "inventoryIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                    "inventoryName" : "Deluxe Room with City View",
                    "inventoryNameInEnglish" : "Deluxe City View Room",
                    "inventoryType" : "GUEST_ROOM",
                    "lastUpdate" : "2026-03-10T14:15:00",
                    "location" : {
                      "coordinates" : [ 100.5581533, 13.7370197 ],
                      "type" : "Point"
                    },
                    "lowestDisplayPrice" : {
                      "amount" : 125.0,
                      "currency" : "USD"
                    },
                    "lowestPrice" : {
                      "amount" : 4500.0,
                      "currency" : "THB"
                    },
                    "pricePoint" : "THREE",
                    "quantity" : 50,
                    "salesChannel" : {
                      "channelDisabled" : false,
                      "enabled" : true,
                      "identifier" : "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52",
                      "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                      "ownerName" : "The Siam Residences",
                      "subType" : "DIRECT",
                      "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "supplierName" : "The Siam Residences, Bangkok"
                    }
                  } ],
                  "first" : true,
                  "last" : false,
                  "number" : 0,
                  "numberOfElements" : 20,
                  "size" : 20,
                  "totalElements" : 1234,
                  "totalPages" : 62
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/affiliate/invite" : {
      "post" : {
        "tags" : [ "Affiliate" ],
        "summary" : "Invite",
        "description" : "Email an invitation asking a user to become an affiliate of the given account.",
        "operationId" : "invite-affiliate",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Managing entity identifier (UUID)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Affiliate invitation details including the invitee email address and optional message",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InviteAffiliateRequest_Authenticated_Entity"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Whether the invitation was sent successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BooleanResponse_Authenticated_Entity"
                },
                "example" : {
                  "message" : "User has permission to access this resource",
                  "success" : true
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/affiliate/grid" : {
      "post" : {
        "tags" : [ "Affiliate" ],
        "summary" : "Browse",
        "description" : "Return a page of affiliates with their sales metrics for the given account, filtered by the supplied grid criteria.",
        "operationId" : "browse-affiliates",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Managing entity identifier (UUID)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Grid state including pagination, sort and filter criteria for the affiliate sales results",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/State_Authenticated_Entity"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Paginated affiliates with sales metrics for the given account. Pagination metadata (total, page, size) is in the Page wrapper.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PageResponseDisplayCompanyWithSalesMetrics_Authenticated_Entity"
                },
                "example" : {
                  "content" : [ {
                    "annualTravelSpendInDollars" : {
                      "amount" : 250000.0,
                      "currency" : "USD"
                    },
                    "averageBookingAmount" : 1500.0,
                    "bookings" : 42,
                    "city" : "Bangkok",
                    "cityGeoNameId" : "1609350",
                    "continent" : "Asia",
                    "country" : "Thailand",
                    "countryGeoNameId" : "1605651",
                    "currencyCode" : "USD",
                    "description" : "Luxury boutique hotel on the Chao Phraya River.",
                    "onlinePresence" : [ {
                      "audienceSize" : 12500,
                      "audiences" : [ "TRAVEL" ],
                      "disabled" : false,
                      "identifier" : "@siamresidences",
                      "sort" : 1,
                      "type" : "INSTAGRAM"
                    } ],
                    "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "ownerImageId" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "ownerName" : "The Siam Residences",
                    "totalPriceAmount" : 63000.0,
                    "type" : "HOTEL",
                    "urlName" : "the-siam-residences"
                  } ],
                  "first" : true,
                  "last" : false,
                  "number" : 0,
                  "numberOfElements" : 20,
                  "size" : 20,
                  "totalElements" : 1234,
                  "totalPages" : 62
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales/account" : {
      "post" : {
        "tags" : [ "Sales Channel" ],
        "summary" : "Create",
        "description" : "Creates a new sales channel relationship for the given property from the supplied request and returns the persisted channel.",
        "operationId" : "create-sales-channel",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Create sales channel and associate it with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Sales channel creation payload specifying the affiliate owner, channel name, commission terms, and which inventory types to include",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SalesChannelCreateRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Sales channel successfully created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SalesChannelLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales-channel/request" : {
      "post" : {
        "tags" : [ "Sales Channel Request" ],
        "summary" : "Create",
        "description" : "Submits a new sales-channel relationship request on behalf of the property and returns the persisted request.",
        "operationId" : "create-sales-channel-request",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Create sales channel request and associate it with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Relationship request payload specifying the target affiliate and any proposed commission or pricing terms for the new supplier-initiated channel partnership",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertSalesChannelRequestRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Sales channel relationship request successfully created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SalesChannelRequestLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/review/grid" : {
      "post" : {
        "tags" : [ "Review" ],
        "summary" : "List property reviews",
        "description" : "Returns a paginated, filterable grid of guest reviews for the property, including filters by date, guest name, rating, and approval status. Results are wrapped in a standard Spring Page envelope.",
        "operationId" : "show-reviews",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Managing entity identifier to show reviews for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Pageable grid state including page number, page size, sort fields, and optional filters such as date range, guest name, rating, and approval status",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/State_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Paginated list of reviews retrieved successfully. Each page element is a ReviewLightweight object.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PageResponseReviewLightweight_Supplier"
                },
                "example" : {
                  "content" : [ {
                    "answers" : [ {
                      "category" : "SERVICE",
                      "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
                      "sort" : 1,
                      "value" : 7
                    } ],
                    "approvedImage" : false,
                    "approvedText" : true,
                    "averageScore" : 8.7,
                    "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                    "createdDate" : "2026-01-14T09:30:00",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
                    "responded" : false,
                    "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
                    "reviewDate" : "2026-01-14T09:30:00",
                    "roomNumber" : "501",
                    "roomRating" : 9,
                    "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
                    "user" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "telephone" : "+66 2 126 8866",
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                    },
                    "version" : 3
                  } ],
                  "first" : true,
                  "last" : false,
                  "number" : 0,
                  "numberOfElements" : 20,
                  "size" : 20,
                  "totalElements" : 1234,
                  "totalPages" : 62
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/rate-plan" : {
      "post" : {
        "tags" : [ "Rate Plan" ],
        "summary" : "Create a new rate plan",
        "description" : "Create and persist a new rate plan for the given property with all availability restrictions, meal inclusions, length-of-stay requirements, occupancy limits, and pricing modifiers. Returns HTTP 201 with the created rate plan. Requires INVENTORY:WRITE on the managing entity.",
        "operationId" : "create-rate-plan",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the property under which the new rate plan will be created.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Rate plan definition including name, meal inclusions, availability window, length-of-stay restrictions, occupancy limits, and pricing modifiers",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertRatePlanRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Rate plan created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RatePlanLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/welcome-text/suggest" : {
      "post" : {
        "tags" : [ "Welcome Text" ],
        "summary" : "Suggest welcome text",
        "description" : "Generates an AI-suggested welcome description for the property from the supplied prompt, returning the suggestion without saving it. Requires CONTENT:WRITE on the managing entity.",
        "operationId" : "suggest-property-welcome-text",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Suggest for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Prompt and context information used by AI to generate a welcome description suggestion for the property",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SuggestWelcomeTextRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "AI-generated welcome description suggestion for review before saving",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SimpleDescription_Supplier"
                },
                "example" : {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/welcome-text/improve" : {
      "post" : {
        "tags" : [ "Welcome Text" ],
        "summary" : "Improve welcome text",
        "description" : "Uses AI to refine the property's existing welcome description and returns the improved copy without saving it. Requires CONTENT:WRITE on the managing entity.",
        "operationId" : "improve-welcome-text",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update basic information for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Existing welcome text and improvement preferences submitted to AI for refinement",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ImproveWelcomeTextRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "AI-improved version of the property's welcome description, ready for review",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SimpleDescription_Supplier"
                },
                "example" : {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/services/suggest" : {
      "post" : {
        "tags" : [ "Property" ],
        "summary" : "Suggest amenities",
        "description" : "Returns AI-suggested amenities as selectable key/value pairs for the property.",
        "operationId" : "suggest-property-welcome-text_1",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Suggest for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Context payload with property description and category hints used by the AI model to generate relevant amenity suggestions",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SuggestAmenitiesRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "AI-suggested amenities as a list of selectable key/value pairs",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/KeyValuePair_Supplier"
                },
                "example" : {
                  "label" : "Hotel & Resort",
                  "value" : "HOTEL"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/recognition" : {
      "post" : {
        "tags" : [ "Recognition" ],
        "summary" : "Create",
        "description" : "Adds a new recognition to the given property from the supplied request. Requires CONTENT:WRITE and returns 201 with the updated property.",
        "operationId" : "create-recognition",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Associate new request record with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Recognition details to attach to the property, including category (e.g. AWARD, REVIEW), source, title, and year",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertRecognition_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Updated property record with the newly created recognition attached",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/profile/suggest" : {
      "post" : {
        "tags" : [ "Property" ],
        "summary" : "Suggest profile",
        "description" : "Uses AI to generate suggested profile copy for the property based on the supplied request, returning the suggestions for review.",
        "operationId" : "suggest-property-profile",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Suggest for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Seed information and preferences used by AI to generate profile copy suggestions for the property",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SuggestProfileRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "AI-generated profile copy suggestions for review before saving",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SuggestProfileResponse_Supplier"
                },
                "example" : {
                  "address1" : "1 Khlang Toei Road",
                  "address2" : "",
                  "address3" : "",
                  "ambiance" : "Serene tropical oasis with contemporary design and personalized service",
                  "architecture" : "Contemporary",
                  "brand" : "The Siam Residences",
                  "chain" : "Independent",
                  "city" : "Bangkok",
                  "country" : "Thailand",
                  "designElements" : "Minimalist with natural materials and tropical accents",
                  "emailAddress" : "info@thesiamresidences.com",
                  "historic" : "Built in 2015, newly renovated in 2022",
                  "hotelStars" : "5",
                  "locationCategory" : "MTR",
                  "numberOfRooms" : "48",
                  "phoneNumber" : "+66 2 126 8866",
                  "postalCode" : "10110",
                  "propertyClass" : "RES",
                  "province" : "Central",
                  "segment" : "Luxury",
                  "style" : "MOD",
                  "website" : "https://www.thesiamresidences.com",
                  "yearBuilt" : "2015"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/multimedia" : {
      "post" : {
        "tags" : [ "Media" ],
        "summary" : "Create",
        "description" : "Attach a single image or video record to the property.",
        "operationId" : "create-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Save a single media associated with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Image or video asset to attach to the property, including URL, caption, sort order, and media type",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Updated property record with the newly attached media record",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/multimedia/upload" : {
      "post" : {
        "tags" : [ "Media" ],
        "summary" : "Upload",
        "description" : "Upload image and/or video files to Cloudinary and attach the resulting assets to the property.",
        "operationId" : "upload-multipart-files",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Upload multipart file media for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "files" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "format" : "binary"
                    }
                  }
                },
                "required" : [ "files" ]
              }
            }
          }
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the newly uploaded Cloudinary assets attached",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          },
          "207" : {
            "description" : "Multi-Status",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/multimedia/general-manager/upload" : {
      "post" : {
        "tags" : [ "General Manager" ],
        "summary" : "Upload manager image",
        "description" : "Uploads a multipart image or video to Cloudinary and attaches it to the property's general manager profile.",
        "operationId" : "upload-general-manager-profile-picture",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Add general manager profile picture for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                },
                "required" : [ "file" ]
              }
            }
          }
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the general manager's new profile picture attached",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          },
          "207" : {
            "description" : "Multi-Status",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/promotion" : {
      "post" : {
        "tags" : [ "Promotion" ],
        "summary" : "Create a promotion",
        "description" : "Create a new promotion with discount/premium rules and qualification criteria. Returns HTTP 201 with the created promotion.",
        "operationId" : "create-promotion",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the managing entity (property) to create the promotion for.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Promotion definition including discount or premium rules, qualification criteria such as lead time, length of stay, promo codes, and guest location filters",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertSpecialRateRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Promotion created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpecialRateLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/promotion-bundle" : {
      "post" : {
        "tags" : [ "Promotion Bundle" ],
        "summary" : "Create a promotion bundle",
        "description" : "Create a new bundle of promotions. Returns HTTP 201 with the created bundle.",
        "operationId" : "create-rate-modifier-bundle",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The unique identifier of the managing entity (property) to create the bundle for.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Promotion bundle definition including name, the list of individual promotions to group, and any override rules",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertSpecialRateBundleRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Promotion bundle created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpecialRateBundleLightweight_Supplier"
                }
              }
            }
          },
          "422" : {
            "description" : "Validation failed: bundle must contain at least two individual promotions.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpecialRateBundleLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/master-rate/{masterRateIdentifier}/rates/dates" : {
      "post" : {
        "tags" : [ "Daily Rate" ],
        "summary" : "Get master rate daily rates by date range",
        "description" : "Retrieve all daily rates for a single master rate (room type + rate plan) over a specified date range.",
        "operationId" : "show-all-master-rates-rates",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (managing entity UUID) owning this master rate",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "masterRateIdentifier",
          "in" : "path",
          "description" : "Master rate identifier (room type + rate plan) to fetch rates for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Start and end dates defining the inclusive date range for which daily rates on this master rate should be retrieved",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DateRange_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All daily rates for the specified master rate (room type + rate plan) over the requested date range",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RateLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "closedOnArrival" : false,
                  "closedOnDeparture" : false,
                  "currencyCode" : "THB",
                  "day" : 14,
                  "extraChildRateModifier" : {
                    "percent" : 0.15,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "guestRoomIdentifier" : "4b7e2c9a-6f1d-4a0b-8c3e-5d2f9b1a7c84",
                  "hotelIdentifier" : "7d4f2a1b-3e8c-4b0d-a5f9-1c2e6b4d8f07",
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "master" : true,
                  "maxLengthOfStay" : 30,
                  "minLengthOfStay" : 2,
                  "month" : 1,
                  "quantity" : 9,
                  "rate" : 4500.0,
                  "ratePlanIdentifier" : "9a2d5e8c-1f4b-4c7a-b3e6-2d0f8a5c3e91",
                  "rateSource" : "NONE",
                  "singleOccupancyRateModifier" : {
                    "percent" : 0.8,
                    "type" : "PERCENTAGE"
                  },
                  "year" : 2026
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/master-rate/{masterRateIdentifier}/rate/grid" : {
      "post" : {
        "tags" : [ "Daily Rate" ],
        "summary" : "Get daily rates grid",
        "description" : "Retrieve a paginated grid of daily rates for a single master rate. Supports filtering and pagination via the State request body.",
        "operationId" : "show-daily-rates-page",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (managing entity UUID) owning these rates",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "masterRateIdentifier",
          "in" : "path",
          "description" : "Master rate identifier for the room type and rate plan",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Pagination and filter state controlling which daily rate records are returned in the grid view",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/State_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Paginated grid of daily rates for the specified master rate",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PageResponseRateLightweight_Supplier"
                },
                "example" : {
                  "content" : [ {
                    "closedOnArrival" : false,
                    "closedOnDeparture" : false,
                    "currencyCode" : "THB",
                    "day" : 14,
                    "extraChildRateModifier" : {
                      "percent" : 0.15,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "guestRoomIdentifier" : "4b7e2c9a-6f1d-4a0b-8c3e-5d2f9b1a7c84",
                    "hotelIdentifier" : "7d4f2a1b-3e8c-4b0d-a5f9-1c2e6b4d8f07",
                    "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "master" : true,
                    "maxLengthOfStay" : 30,
                    "minLengthOfStay" : 2,
                    "month" : 1,
                    "quantity" : 9,
                    "rate" : 4500.0,
                    "ratePlanIdentifier" : "9a2d5e8c-1f4b-4c7a-b3e6-2d0f8a5c3e91",
                    "rateSource" : "NONE",
                    "singleOccupancyRateModifier" : {
                      "percent" : 0.8,
                      "type" : "PERCENTAGE"
                    },
                    "year" : 2026
                  } ],
                  "first" : true,
                  "last" : false,
                  "number" : 0,
                  "numberOfElements" : 20,
                  "size" : 20,
                  "totalElements" : 1234,
                  "totalPages" : 62
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/master-rate/rates/dates" : {
      "post" : {
        "tags" : [ "Daily Rate" ],
        "summary" : "Get all property rates by date range",
        "description" : "Retrieve all daily rates across every master rate at a property for a specified date range.",
        "operationId" : "show-all-hotel-rates",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (managing entity UUID) to fetch rates for",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Start and end dates defining the inclusive date range for which all property rates should be retrieved",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DateRange_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All daily rates across every master rate at the property for the requested date range",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RateLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "closedOnArrival" : false,
                  "closedOnDeparture" : false,
                  "currencyCode" : "THB",
                  "day" : 14,
                  "extraChildRateModifier" : {
                    "percent" : 0.15,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "guestRoomIdentifier" : "4b7e2c9a-6f1d-4a0b-8c3e-5d2f9b1a7c84",
                  "hotelIdentifier" : "7d4f2a1b-3e8c-4b0d-a5f9-1c2e6b4d8f07",
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "master" : true,
                  "maxLengthOfStay" : 30,
                  "minLengthOfStay" : 2,
                  "month" : 1,
                  "quantity" : 9,
                  "rate" : 4500.0,
                  "ratePlanIdentifier" : "9a2d5e8c-1f4b-4c7a-b3e6-2d0f8a5c3e91",
                  "rateSource" : "NONE",
                  "singleOccupancyRateModifier" : {
                    "percent" : 0.8,
                    "type" : "PERCENTAGE"
                  },
                  "year" : 2026
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa" : {
      "post" : {
        "tags" : [ "Spa" ],
        "summary" : "Create new spa",
        "description" : "Creates a new spa facility under the property's inventory. Returns the persisted spa record with assigned identifier once the asynchronous save completes.",
        "operationId" : "create-spa",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the new spa will belong to this property",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Spa facility details including name, descriptions, location, pricing, amenities, operating hours, and bookability settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertSpaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Newly created spa record",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/transactional-item" : {
      "post" : {
        "tags" : [ "Spa" ],
        "summary" : "Create transactional item",
        "description" : "Adds a new transactional inventory item (add-on) to a spa. Requires INVENTORY:WRITE and returns 201.",
        "operationId" : "create-transactional-item",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier to add the transactional item to.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Transactional item definition including name, pricing type, base and discounted prices, and pax limits.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Transactional item created successfully; the updated spa is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/multimedia" : {
      "post" : {
        "tags" : [ "Spa" ],
        "summary" : "Upload spa multimedia assets",
        "description" : "Accepts multipart image and/or video files, uploads them to Cloudinary CDN, and attaches the resulting media assets to the spa. Returns the updated spa record with all assets.",
        "operationId" : "upload-spa-media",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier — the spa to attach media to",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "files" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "format" : "binary"
                    }
                  }
                },
                "required" : [ "files" ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "207" : {
            "description" : "Updated spa record with all attached multimedia assets",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch spa multimedia",
        "description" : "Replaces the full ordered media list of a spa. Draft-friendly; promotes a DRAFT to PUBLISHED once the spa becomes complete. Send the spa's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-spa-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Multimedia section: the full ordered media list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchSpaMultimediaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Spa multimedia patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/draft" : {
      "post" : {
        "tags" : [ "Spa" ],
        "summary" : "Create draft spa",
        "description" : "Creates an empty DRAFT spa under the given managing entity so a section-by-section editor has an id to patch against. Takes no body; the spa stays a DRAFT (not announced to the market) until its sections are completed. Requires INVENTORY:WRITE and returns 201 with the created draft.",
        "operationId" : "create-draft-spa",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to create the draft spa under.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Draft spa created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type" : {
      "post" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Create room type",
        "description" : "Creates a new room type under the given managing entity from the supplied request. Requires INVENTORY:WRITE and returns 201 with the created room.",
        "operationId" : "create-guest-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to create room type under.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Room type definition including name, description, bed configuration, occupancy limits, amenities, and pricing details",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertRoomTypeRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Room type created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/transactional-item" : {
      "post" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Create transactional item",
        "description" : "Adds a new transactional inventory item (add-on) to a room type. Requires INVENTORY:WRITE and returns 201.",
        "operationId" : "create-transactional-item_1",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to add the transactional item to.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Transactional item definition including name, pricing type, base and discounted prices, and pax limits.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Transactional item created successfully; the updated room type is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/multimedia" : {
      "post" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Upload room media",
        "description" : "Accepts a multipart upload of images and/or videos, stores them in Cloudinary, and associates them with the room type. Requires INVENTORY:WRITE on the property.",
        "operationId" : "upload-guest-room-media",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to upload media for.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "files" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "format" : "binary"
                    }
                  }
                },
                "required" : [ "files" ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "207" : {
            "description" : "Media assets uploaded and associated with the room type; the updated room type is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch room multimedia",
        "description" : "Replaces the full ordered media list of a room type (JSON). Distinct from the integrator-facing multipart upload and item-level add/upsert/remove endpoints. Draft-friendly; promotes a DRAFT to PUBLISHED once the room becomes complete. Send the room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-guest-room-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Multimedia section: the full ordered media list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRoomTypeMultimediaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type multimedia patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/duplicate" : {
      "post" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Duplicate room type",
        "description" : "Creates a copy of an existing room type under the same managing entity and returns it as a new room. Requires INVENTORY:WRITE and responds 201.",
        "operationId" : "duplicate-guest-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to duplicate.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Duplicate room request carrying the source hotel and guest room identifiers to copy into a new room type entry",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DuplicateGuestRoomRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Duplicate room type created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/draft" : {
      "post" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Create draft room type",
        "description" : "Creates an empty DRAFT room type under the given managing entity so a section-by-section editor has an id to patch against. Takes no body; the room stays a DRAFT (not announced to the market) until its sections are completed. Requires INVENTORY:WRITE and returns 201 with the created draft.",
        "operationId" : "create-draft-guest-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to create the draft room type under.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Draft room type created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant" : {
      "post" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Create",
        "description" : "Adds a new restaurant to the property from the supplied details.",
        "operationId" : "create-restaurant",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Create a new restaurant record owned by this property (managing entity) identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Restaurant details including name, description, cuisine type, operating hours, pricing tier, and bookability settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertRestaurantRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "The newly created restaurant record.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/transactional-item" : {
      "post" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Create transactional item",
        "description" : "Adds a new transactional inventory item (add-on) to a restaurant. Requires INVENTORY:WRITE and returns 201.",
        "operationId" : "create-transactional-item_2",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier to add the transactional item to.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Transactional item definition including name, pricing type, base and discounted prices, and pax limits.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Transactional item created successfully; the updated restaurant is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/multimedia" : {
      "post" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Upload media",
        "description" : "Uploads multipart images and videos to Cloudinary and attaches them to the restaurant.",
        "operationId" : "upload-restaurant-media",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Upload multipart files and associate them with an existing restaurant owned by this property (managing entity) identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Upload multipart files and associate them with an existing restaurant with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "files" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "format" : "binary"
                    }
                  }
                },
                "required" : [ "files" ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "207" : {
            "description" : "The restaurant record updated with the newly uploaded media assets.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch restaurant multimedia",
        "description" : "Replaces the full ordered media list of a restaurant. Draft-friendly; promotes a DRAFT to PUBLISHED once the restaurant becomes complete. Send the restaurant's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-restaurant-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Multimedia section: the full ordered media list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRestaurantMultimediaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Restaurant multimedia patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/draft" : {
      "post" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Create draft restaurant",
        "description" : "Creates an empty DRAFT restaurant under the given managing entity so a section-by-section editor has an id to patch against. Takes no body; the restaurant stays a DRAFT (not announced to the market) until its sections are completed. Requires INVENTORY:WRITE and returns 201 with the created draft.",
        "operationId" : "create-draft-restaurant",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to create the draft restaurant under.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Draft restaurant created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room" : {
      "post" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Create",
        "description" : "Persists a new meeting room for the property and returns the created record.",
        "operationId" : "create-meeting-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Create a new meeting room record and associate it with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Meeting room details including name, capacity, setup styles, equipment, pricing and multimedia assets",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertMeetingRoomRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Meeting room created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/transactional-item" : {
      "post" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Create transactional item",
        "description" : "Adds a new transactional inventory item (add-on) to a meeting room. Requires INVENTORY:WRITE and returns 201.",
        "operationId" : "create-transactional-item_3",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier to add the transactional item to.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Transactional item definition including name, pricing type, base and discounted prices, and pax limits.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Transactional item created successfully; the updated meeting room is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/multimedia" : {
      "post" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Upload multimedia",
        "description" : "Uploads multipart media files to the meeting room. Accepts .gif, .jpg, .jpeg, .png, .bmp, .tif, .tiff, .avi, .mpeg, .mov, .mp4 and .mkv.",
        "operationId" : "upload-meeting-room-media",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Upload binary media for meeting room associated with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Upload binary media for meeting room with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "files" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "format" : "binary"
                    }
                  }
                },
                "required" : [ "files" ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "207" : {
            "description" : "Media uploaded; returns the updated meeting room record with the new media attached",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch meeting room multimedia",
        "description" : "Replaces the full ordered media list of a meeting room. Draft-friendly; promotes a DRAFT to PUBLISHED once the meeting room becomes complete. Send the meeting room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-meeting-room-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Multimedia section: the full ordered media list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchMeetingRoomMultimediaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting room multimedia patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/draft" : {
      "post" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Create draft meeting room",
        "description" : "Creates an empty DRAFT meeting room under the given managing entity so a section-by-section editor has an id to patch against. Takes no body; the meeting room stays a DRAFT (not announced to the market) until its sections are completed. Requires INVENTORY:WRITE and returns 201 with the created draft.",
        "operationId" : "create-draft-meeting-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to create the draft meeting room under.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Draft meeting room created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place" : {
      "post" : {
        "tags" : [ "Place" ],
        "summary" : "Create",
        "description" : "Creates a new place for the property from the supplied request.",
        "operationId" : "create-place",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Create a new place record owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Place details including name, description, location, pricing, bookability settings, and associated media",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertPlaceRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "The newly created place record",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/transactional-item" : {
      "post" : {
        "tags" : [ "Place" ],
        "summary" : "Create transactional item",
        "description" : "Adds a new transactional inventory item (add-on) to a place. Requires INVENTORY:WRITE and returns 201.",
        "operationId" : "create-transactional-item_4",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier to add the transactional item to.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Transactional item definition including name, pricing type, base and discounted prices, and pax limits.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Transactional item created successfully; the updated place is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/multimedia" : {
      "post" : {
        "tags" : [ "Place" ],
        "summary" : "Upload media",
        "description" : "Uploads one or more multipart image/video files to Cloudinary and attaches the results to the place.",
        "operationId" : "upload-place-media",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Upload multipart files and associate them with an existing place owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Upload multipart files and associate them with an existing place with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "files" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "format" : "binary"
                    }
                  }
                },
                "required" : [ "files" ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "207" : {
            "description" : "The place record updated with the newly uploaded media assets",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Place" ],
        "summary" : "Patch place multimedia",
        "description" : "Replaces the full ordered media list of a place. Draft-friendly; promotes a DRAFT to PUBLISHED once the place becomes complete. Send the place's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-place-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Multimedia section: the full ordered media list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchPlaceMultimediaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Place multimedia patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/draft" : {
      "post" : {
        "tags" : [ "Place" ],
        "summary" : "Create draft place",
        "description" : "Creates an empty DRAFT place under the given managing entity so a section-by-section editor has an id to patch against. Takes no body; the place stays a DRAFT (not announced to the market) until its sections are completed. Requires INVENTORY:WRITE and returns 201 with the created draft.",
        "operationId" : "create-draft-place",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to create the draft place under.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Draft place created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction" : {
      "post" : {
        "tags" : [ "Attraction" ],
        "summary" : "Create new attraction",
        "description" : "Creates a new attraction under the given managing entity from the supplied request. Requires INVENTORY:WRITE and returns 201 with the created attraction.",
        "operationId" : "create-attraction",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Attraction details including name, description, location, type, pricing and media references",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertAttractionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Attraction created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/transactional-item" : {
      "post" : {
        "tags" : [ "Attraction" ],
        "summary" : "Create transactional item",
        "description" : "Adds a new transactional inventory item (add-on) to an attraction. Requires INVENTORY:WRITE and returns 201.",
        "operationId" : "create-transactional-item_5",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier to add the transactional item to.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Transactional item definition including name, pricing type, base and discounted prices, and pax limits.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Transactional item created successfully; the updated attraction is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/multimedia" : {
      "post" : {
        "tags" : [ "Attraction" ],
        "summary" : "Upload attraction media",
        "description" : "Accepts a multipart upload of images and/or videos, stores them in Cloudinary, and associates them with the attraction. Accepted types include .gif, .jpg, .jpeg, .png, .bmp, .tif, .tiff, .avi, .mpeg, .mov, .mp4 and .mkv.",
        "operationId" : "upload-attraction-media",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "files" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "format" : "binary"
                    }
                  }
                },
                "required" : [ "files" ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "207" : {
            "description" : "Media uploaded and attraction updated with new media assets",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Attraction" ],
        "summary" : "Patch attraction multimedia",
        "description" : "Replaces the full ordered media list of an attraction. Draft-friendly; promotes a DRAFT to PUBLISHED once the attraction becomes complete. Send the attraction's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-attraction-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Multimedia section: the full ordered media list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAttractionMultimediaRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attraction multimedia patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/draft" : {
      "post" : {
        "tags" : [ "Attraction" ],
        "summary" : "Create draft attraction",
        "description" : "Creates an empty DRAFT attraction under the given managing entity so a section-by-section editor has an id to patch against. Takes no body; the attraction stays a DRAFT (not announced to the market) until its sections are completed. Requires INVENTORY:WRITE and returns 201 with the created draft.",
        "operationId" : "create-draft-attraction",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to create the draft attraction under.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Draft attraction created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity" : {
      "post" : {
        "tags" : [ "Activity" ],
        "summary" : "Create",
        "description" : "Creates a new activity for the property from the supplied request.",
        "operationId" : "create-activity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (Managing Entity)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Activity details including name, description, schedule and pricing",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertActivityRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "The newly created activity",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/transactional-item" : {
      "post" : {
        "tags" : [ "Activity" ],
        "summary" : "Create transactional item",
        "description" : "Adds a new transactional inventory item (add-on) to an activity. Requires INVENTORY:WRITE and returns 201.",
        "operationId" : "create-transactional-item_6",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier to add the transactional item to.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Transactional item definition including name, pricing type, base and discounted prices, and pax limits.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Transactional item created successfully; the updated activity is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/multimedia" : {
      "post" : {
        "tags" : [ "Activity" ],
        "summary" : "Upload media",
        "description" : "Uploads one or more multipart image/video files to Cloudinary and attaches the results to the activity.",
        "operationId" : "upload-activity-media",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (Managing Entity)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "files" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "format" : "binary"
                    }
                  }
                },
                "required" : [ "files" ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "207" : {
            "description" : "The activity with newly attached media",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch activity multimedia",
        "description" : "Replaces the full ordered media list of an activity. Draft-friendly; promotes a DRAFT to PUBLISHED once the activity becomes complete. Send the activity's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-activity-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Multimedia section: the full ordered media list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchActivityMultimediaRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Activity multimedia patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/draft" : {
      "post" : {
        "tags" : [ "Activity" ],
        "summary" : "Create draft activity",
        "description" : "Creates an empty DRAFT activity under the given managing entity so a section-by-section editor has an id to patch against. Takes no body; the activity stays a DRAFT (not announced to the market) until its sections are completed. Requires INVENTORY:WRITE and returns 201 with the created draft.",
        "operationId" : "create-draft-activity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to create the draft activity under.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Draft activity created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/cancellation-policy" : {
      "post" : {
        "tags" : [ "Cancellation Policy" ],
        "summary" : "Create",
        "description" : "Creates a new cancellation policy for the given property from the supplied request and returns the persisted policy.",
        "operationId" : "create-cancellation-policy",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity (property owner) to associate the new cancellation policy with.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Cancellation policy definition including the policy name, refund rules and applicable time windows before check-in",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertCancellationPolicyRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Cancellation policy created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CancellationPolicyLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/grid" : {
      "post" : {
        "tags" : [ "Booking" ],
        "summary" : "Search grid",
        "description" : "Returns a page of bookings driven by a rich filter/sort state payload, automatically scoped to the property and excluding failed bookings.",
        "operationId" : "show-hotel-bookings",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show bookings for property with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Grid filter and sort state for paginating property bookings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/State_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Page of property bookings matching the state filter",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PageResponseBookingLightweight_Supplier"
                },
                "example" : {
                  "content" : [ {
                    "acquiringFee" : {
                      "internalAmount" : 450.0,
                      "shareNotStated" : false,
                      "sourceAmount" : 450.0,
                      "state" : "CAPTURED"
                    },
                    "activities" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "addOns" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "ancillaryList" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "attractions" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "beneficiaryList" : [ {
                      "accountEmail" : "reservations@thesiamresidences.com",
                      "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                      "accountName" : "The Siam Residences, Bangkok",
                      "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                      "amountDue" : {
                        "percent" : 0.05
                      },
                      "displayAmount" : 450.0,
                      "displayAmountRefundModifier" : 45.0,
                      "displayCurrency" : "USD",
                      "internalAmount" : 450.0,
                      "internalAmountRefundModifier" : 45.0,
                      "internalCurrency" : "USD",
                      "netDisplayAmount" : 450.0,
                      "netInternalAmount" : 450.0,
                      "netSourceAmount" : 450.0,
                      "pendingRefunds" : [ {
                        "displayAmountRefundModifier" : 45.0,
                        "internalAmountRefundModifier" : 45.0,
                        "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                        "sourceAmountRefundModifier" : 45.0
                      } ],
                      "reconciled" : false,
                      "sourceAmount" : 450.0,
                      "sourceAmountRefundModifier" : 45.0,
                      "sourceCurrency" : "THB"
                    } ],
                    "booker" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "telephone" : "+1 212 555 1212",
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                    },
                    "cancellation" : {
                      "cancelReason" : "Guest changed travel plans",
                      "cancellationType" : "FREE_CANCELLATION",
                      "cancelledOn" : "2026-01-15T10:30:00Z",
                      "cancellerType" : "TRAVELER",
                      "cancellerUserIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                      "groupRefundNotified" : false
                    },
                    "commissionableSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "customization" : {
                      "appendToPageTitle" : "Hotels with Benefits",
                      "cardDesign" : "DEFAULT",
                      "cardLayout" : "VERTICAL",
                      "city" : {
                        "admin1Code" : "40",
                        "admin2Code" : "2401",
                        "admin3Code" : "",
                        "admin4Code" : "",
                        "alternateCountryCodes" : [ ],
                        "alternateNames" : [ "Krung Thep", "BKK" ],
                        "asciiName" : "Bangkok",
                        "country" : {
                          "area" : 514000.0,
                          "capital" : "Bangkok",
                          "continent" : "AS",
                          "currencyCode" : "THB",
                          "currencyName" : "Baht",
                          "fips" : "TH",
                          "geoNameId" : "1605651",
                          "iso" : "TH",
                          "iso3" : "THA",
                          "isoNumeric" : 764,
                          "languages" : [ "th" ],
                          "name" : "Thailand",
                          "neighbors" : [ "LA", "MM", "KH", "MY" ],
                          "phone" : "66",
                          "population" : 69428524,
                          "postalCodeFormat" : "#####",
                          "postalCodeRegEx" : "^(\\d{5})$",
                          "topLevelDomain" : ".th"
                        },
                        "countryCode" : "TH",
                        "digitalElevationModel" : "3",
                        "elevation" : 5,
                        "featureClass" : "P",
                        "featureCode" : "PPLC",
                        "geoNameId" : "1609350",
                        "location" : {
                          "coordinates" : [ 100.5581533, 13.7370197 ],
                          "type" : "POINT"
                        },
                        "modificationDate" : "2023-06-15",
                        "name" : "Bangkok",
                        "population" : 10539415,
                        "radiusInMeters" : 50000,
                        "subCountry" : {
                          "asciiName" : "Bangkok",
                          "code" : "TH.40",
                          "countryCode" : "TH",
                          "geoNameId" : "1609350",
                          "name" : "Bangkok",
                          "subCountryCode" : "40"
                        },
                        "subSubCountry" : {
                          "asciiName" : "Bangkok District",
                          "code" : "TH.40.2401",
                          "countryCode" : "TH",
                          "geoNameId" : "1609352",
                          "name" : "Bangkok District",
                          "subCountryCode" : "40",
                          "subSubCountryCode" : "2401"
                        },
                        "timezone" : "Asia/Bangkok",
                        "type" : "CITY",
                        "urlName" : "bangkok-thailand"
                      },
                      "createdDate" : "2026-01-14T09:30:00",
                      "defaultCurrency" : "THB",
                      "defaultLanguage" : "en",
                      "defaultLifestyle" : "LIFESTYLE_HEALTH_FITNESS",
                      "endDate" : "2026-07-22",
                      "googleAnalyticsMeasurementId" : "G-ABCDEF1234",
                      "googleMapsAPIKey" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6",
                      "googleTagManagerContainerId" : "GTM-XXXXX",
                      "hostedBookingEngineUrl" : "https://book.thesiamresidences.com/reservations",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "layout" : "INFORMATIONAL",
                      "logos" : [ {
                        "angle" : null,
                        "attribution" : [ ],
                        "category" : "2",
                        "descriptions" : [ {
                          "description" : "Elegant lobby of The Siam Residences",
                          "language" : "en",
                          "title" : "Lobby Entrance"
                        } ],
                        "height" : 1600,
                        "identifier" : "the-siam-residences/lobby-entrance",
                        "isLandscape" : true,
                        "lifestyleType" : null,
                        "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "published" : true,
                        "sort" : 10,
                        "source" : "CLOUDINARY",
                        "type" : "IMAGE",
                        "width" : 2560
                      } ],
                      "name" : "Luxury Travel Portal",
                      "numberOfAdvanceDays" : 7,
                      "numberOfStayDays" : 3,
                      "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                      "ownerName" : "Premium Hotels International",
                      "primary" : true,
                      "roomConfiguration" : {
                        "adults" : 2,
                        "children" : [ {
                          "age" : 7,
                          "quantity" : 2
                        } ],
                        "quantity" : 2
                      },
                      "selfHosted" : true,
                      "sendBookingNotificationEmailsToBooker" : true,
                      "sendBookingNotificationEmailsToChannelManager" : true,
                      "sendBookingNotificationEmailsToProperty" : true,
                      "showRankings" : true,
                      "showSearch" : true,
                      "showUnavailableCard" : false,
                      "startDate" : "2026-07-15",
                      "subType" : "APPLICATION",
                      "themeColors" : {
                        "body" : "#212529",
                        "danger" : "#dc3545",
                        "dark" : "#343a40",
                        "info" : "#17a2b8",
                        "light" : "#f8f9fa",
                        "muted" : "#6c757d",
                        "primary" : "#dc3545",
                        "secondary" : "#6c757d",
                        "success" : "#28a745",
                        "warning" : "#ffc107",
                        "white" : "#ffffff"
                      },
                      "trackingPixels" : [ {
                        "accessToken" : "EAABsbCS0kB4BAAI...",
                        "consentCategory" : "MARKETING",
                        "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
                        "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
                        "enabled" : true,
                        "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
                        "name" : "Facebook Conversion Pixel",
                        "pixelId" : "1234567890",
                        "provider" : "FACEBOOK",
                        "triggers" : [ {
                          "eventType" : "PURCHASE",
                          "parameters" : [ {
                            "key" : "currency",
                            "value" : "USD"
                          } ]
                        } ],
                        "type" : "JAVASCRIPT"
                      } ],
                      "useDays" : true,
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                      "version" : 3,
                      "wcBookClickAction" : "IBE_MODAL"
                    },
                    "earlyCheckInCharge" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "feeModel" : "FIXED_PROCESSING_FEE",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "fundsAddedToLedger" : false,
                    "fundsProcessed" : false,
                    "guestUser" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "profile" : {
                        "createdDate" : "2026-01-14T09:30:00",
                        "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "lastUpdate" : "2026-02-03T16:45:12",
                        "personal" : {
                          "address1" : "123 Petchburi Road",
                          "address2" : "Ratchathewi District",
                          "birthDate" : "1985-06-15",
                          "childQuantity" : 2,
                          "citizenship" : "Thailand",
                          "city" : "Bangkok",
                          "contactPerson" : [ {
                            "email" : "johnsmith@email.com",
                            "firstName" : "Alexandra",
                            "fullName" : "Alexandra Beaumont",
                            "lastName" : "Beaumont",
                            "phoneNumber" : "+12125551212",
                            "secondaryEmail" : "johnsmith2@email.com",
                            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                          } ],
                          "country" : "TH",
                          "gender" : "FEMALE",
                          "language" : "en",
                          "maritalStatus" : "MARRIED",
                          "petInfo" : [ {
                            "name" : "Luna",
                            "type" : "Golden Retriever"
                          } ],
                          "postalCode" : "10400",
                          "preferredCurrency" : "USD",
                          "state" : "Bangkok"
                        },
                        "preferences" : {
                          "bedTypePref" : "King bed",
                          "cuisinePref" : "Thai",
                          "foodSrvcPref" : "In-room dining",
                          "guestType" : "Business traveler",
                          "hotelChainPref" : "Mandarin Oriental",
                          "mealPref" : "Continental breakfast",
                          "physChalFeaturePref" : "Wheelchair accessible rooms",
                          "propertyLocationPref" : "Beachfront",
                          "propertyTypePref" : "Luxury Resort",
                          "roomLocationPref" : "High floor with city view",
                          "smokingAllowed" : false
                        },
                        "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "share" : true,
                        "user" : {
                          "email" : "alexandra@beaumont.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phone" : "+66212658866",
                          "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                        },
                        "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                        "version" : 3
                      },
                      "telephone" : "+1 212 555 1212",
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                    },
                    "hotel" : {
                      "activities" : 3,
                      "addOns" : 5,
                      "address" : {
                        "city" : "Bangkok",
                        "countryCode" : "TH",
                        "line1" : "3/2 Khao Road",
                        "postalCode" : "10300",
                        "state" : "Bangkok"
                      },
                      "aggregateGreendexRating" : 7.0,
                      "aggregateReviewRating" : 8.7,
                      "architecturalStyle" : "7",
                      "attractions" : 5,
                      "available" : true,
                      "bookings" : 6054,
                      "brand" : "The Siam Residences",
                      "chain" : "The Siam Collection",
                      "currencyCode" : "THB",
                      "descriptions" : [ {
                        "description" : "An elegant riverside sanctuary in the heart of Bangkok.",
                        "language" : "en",
                        "title" : "Luxury Riverside Retreat"
                      } ],
                      "hotelAmenityCodes" : [ "1", "7" ],
                      "hotelCategory" : "45",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "images" : [ {
                        "identifier" : "the-siam-residences/lobby-entrance",
                        "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "published" : true,
                        "sort" : 10,
                        "type" : "IMAGE"
                      } ],
                      "lifestyleTypes" : [ "LIFESTYLE_HEALTH_FITNESS" ],
                      "localName" : "เดอะสยาม เรสซิเดนซ์",
                      "location" : {
                        "coordinates" : [ 100.5581533, 13.7370197 ],
                        "type" : "Point"
                      },
                      "locationCategory" : "34",
                      "meetingRooms" : 2,
                      "name" : "The Siam Residences, Bangkok",
                      "numberOfRooms" : 32,
                      "places" : 9,
                      "propertyAccessibilityCodes" : [ "1" ],
                      "propertySecurityCodes" : [ "7" ],
                      "reservations" : {
                        "email" : "reservations@thesiamresidences.com",
                        "firstName" : "Somchai",
                        "lastName" : "Phattanapong",
                        "phone" : "+66-2-123-4567"
                      },
                      "restaurants" : 2,
                      "score" : 70,
                      "segmentCategory" : "7",
                      "socials" : [ {
                        "handle" : "thesiamresidences",
                        "platform" : "INSTAGRAM"
                      } ],
                      "spas" : 1,
                      "starRating" : 5,
                      "thirdPartyReviews" : [ ],
                      "totalReviews" : 989,
                      "uniqueId" : "siam-residences-bkk",
                      "urlName" : "the-siam-residences-bangkok-thailand",
                      "videos" : [ ],
                      "whenBuilt" : "1927"
                    },
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "meetingRooms" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "netTotalFeesAndCommissionsSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "netTotalSalesSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "netTotalSalesSourceAmountOrZero" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "paymentDetails" : {
                      "acquiringFeeCapture" : {
                        "apportionedAcross" : 3,
                        "balanceTransactionIdentifier" : "txn_abc123",
                        "capturedDate" : "2026-09-11T03:07:58.742",
                        "chargeFee" : 450.0,
                        "chargeIdentifier" : "ch_abc123",
                        "source" : "WEBHOOK"
                      },
                      "acquiringFeeState" : "CAPTURED",
                      "agentInvoiceIdentifier" : "invoice-1",
                      "agentInvoicedDate" : "2017-12-22T03:07:58.742+0000",
                      "chargeIdentifier" : "ch_abc123",
                      "customerIdentifier" : "cus_abc123",
                      "fees" : [ {
                        "description" : "Fee charged for booking confirmation",
                        "fee" : 450.0,
                        "identifier" : "ABC1234",
                        "type" : "BOOKING"
                      } ],
                      "selfAcquires" : false,
                      "selfDisburses" : false,
                      "sessionIdentifier" : "s_abc123",
                      "transactionIdentifier" : "pi_3abc123",
                      "vendor" : "STRIPE"
                    },
                    "payoutList" : [ {
                      "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                      "accountName" : "Hotel Sunrise",
                      "beneficiaryType" : "SALE",
                      "displayAmount" : 12.75,
                      "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "internalAmount" : 12.75,
                      "processedDate" : "2026-01-15T10:30:00Z",
                      "sourceAmount" : 450.0,
                      "status" : "COMPLETED",
                      "withdrawalId" : "tr_abc123"
                    } ],
                    "places" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "refund" : {
                      "cancelOnRefund" : "NONE",
                      "createdDate" : "2026-01-15T10:30:00Z",
                      "description" : "Guest requested cancellation",
                      "displayAmount" : 12.75,
                      "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "internalAmount" : 12.75,
                      "processedDate" : "2026-01-15T10:30:00Z",
                      "reason" : "REQUESTED_BY_CUSTOMER",
                      "receiptUrl" : "https://pay.stripe.com/receipts/abc123",
                      "requestor" : "BY_ADMIN",
                      "response" : "Approved — refunding 50% per policy.",
                      "sourceAmount" : 450.0,
                      "status" : "SUCCEEDED",
                      "stripeRefundFee" : 0.5,
                      "stripeRefundId" : "re_abc123"
                    },
                    "refundFee" : {
                      "internalAmount" : 450.0,
                      "shareNotStated" : false,
                      "sourceAmount" : 450.0,
                      "state" : "CAPTURED"
                    },
                    "reportingAncillaryList" : [ {
                      "currency" : "USD",
                      "grossAmount" : 450.0,
                      "name" : "Thai Massage",
                      "netAmount" : 405.0,
                      "netAmountWithRefund" : 405.0
                    } ],
                    "reportingDailyRateList" : [ {
                      "baseAmount" : 450.0,
                      "currency" : "USD",
                      "date" : "2026-01-15",
                      "grossAmount" : 405.0,
                      "netAmount" : 360.0,
                      "netAmountWithRefund" : 360.0
                    } ],
                    "reportingExtraChargeList" : [ {
                      "currency" : "USD",
                      "description" : "The charge is 50.00 USD and is charged per day.",
                      "grossAmount" : 450.0,
                      "name" : "Late checkout fee",
                      "netAmount" : 405.0,
                      "netAmountWithRefund" : 405.0
                    } ],
                    "restaurants" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "review" : {
                      "answers" : [ {
                        "category" : "SERVICE",
                        "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
                        "sort" : 1,
                        "value" : 7
                      } ],
                      "approvedImage" : false,
                      "approvedText" : true,
                      "averageScore" : 8.7,
                      "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
                      "responded" : false,
                      "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
                      "reviewDate" : "2026-01-14T09:30:00",
                      "roomNumber" : "501",
                      "roomRating" : 9,
                      "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
                      "user" : {
                        "email" : "reservations@thesiamresidences.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "telephone" : "+66 2 126 8866",
                        "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                      },
                      "version" : 3
                    },
                    "roomStay" : {
                      "activeCancellationPolicy" : {
                        "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                        "createdDate" : "2026-01-14T09:30:00",
                        "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                        "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "lastUpdate" : "2026-02-03T16:45:12",
                        "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                        "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                        "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                        "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                        "refundable" : false,
                        "refundableCancellationCharge" : "FIFTY_PERCENT",
                        "version" : 3
                      },
                      "adults" : 2,
                      "ancillaryList" : [ {
                        "address" : {
                          "address1" : "234 Near da beach",
                          "address2" : "Pebble #5001",
                          "city" : "Bangkok",
                          "country" : "United States",
                          "countryCode" : "TH",
                          "county" : "Alameda county",
                          "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                          "postalCode" : "90210",
                          "state" : "CA"
                        },
                        "attendees" : 2,
                        "contact" : {
                          "email" : "johnsmith@email.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phoneNumber" : "+12125551212",
                          "secondaryEmail" : "johnsmith2@email.com",
                          "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                        },
                        "endDate" : "2017-12-22T08:07:58.742+0000",
                        "financialBreakdown" : {
                          "beneficiaryList" : [ {
                            "accountEmail" : "reservations@thesiamresidences.com",
                            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                            "accountName" : "The Siam Residences, Bangkok",
                            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                            "amountDue" : {
                              "percent" : 0.05
                            },
                            "displayAmount" : 450.0,
                            "displayAmountRefundModifier" : 45.0,
                            "displayCurrency" : "USD",
                            "internalAmount" : 450.0,
                            "internalAmountRefundModifier" : 45.0,
                            "internalCurrency" : "USD",
                            "netDisplayAmount" : 450.0,
                            "netInternalAmount" : 450.0,
                            "netSourceAmount" : 450.0,
                            "pendingRefunds" : [ {
                              "displayAmountRefundModifier" : 45.0,
                              "internalAmountRefundModifier" : 45.0,
                              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                              "sourceAmountRefundModifier" : 45.0
                            } ],
                            "reconciled" : false,
                            "sourceAmount" : 450.0,
                            "sourceAmountRefundModifier" : 45.0,
                            "sourceCurrency" : "THB"
                          } ],
                          "displayPriceQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "internalPriceQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          }
                        },
                        "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                        "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                        "imageIdentifier" : "cloudinary-image-1",
                        "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                        "localizedDescription" : "place-1",
                        "localizedName" : "Plass 1",
                        "name" : "Thai Massage Spa Treatment",
                        "price" : {
                          "internalBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "internalChannelModifier" : -10,
                          "internalPremiumModifier" : 40,
                          "internalPromotionalModifier" : -40,
                          "internalTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "quantity" : 1,
                          "sourceBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "sourceChannelModifier" : -10,
                          "sourcePremiumModifier" : 40,
                          "sourcePromotionalModifier" : -40,
                          "sourceToInternalCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceToUserCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyChannelModifier" : -10,
                          "userSpecifiedCurrencyPremiumModifier" : 40,
                          "userSpecifiedCurrencyPromotionalModifier" : -40,
                          "userSpecifiedCurrencyTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          }
                        },
                        "pricingType" : "PER_USE",
                        "startDate" : "2017-12-22T03:07:58.742+0000",
                        "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                        "type" : "ADD_ON",
                        "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                      } ],
                      "bedroomConfiguration" : {
                        "bedroomList" : [ {
                          "bedList" : [ {
                            "bedTypeCode" : "1",
                            "quantity" : 2
                          } ],
                          "type" : "MASTER"
                        } ],
                        "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "name" : "Master Suite Layout"
                      },
                      "children" : 0,
                      "endDate" : "2025-12-27",
                      "extraCharges" : {
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "items" : [ {
                          "price" : {
                            "internalBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "internalChannelModifier" : -10,
                            "internalPremiumModifier" : 40,
                            "internalPromotionalModifier" : -40,
                            "internalTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "quantity" : 1,
                            "sourceBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "sourceChannelModifier" : -10,
                            "sourcePremiumModifier" : 40,
                            "sourcePromotionalModifier" : -40,
                            "sourceToInternalCurrencyQuote" : {
                              "exchangeRate" : 33.5,
                              "source" : "USD",
                              "target" : "THB",
                              "timestamp" : 1705233000000
                            },
                            "sourceToUserCurrencyQuote" : {
                              "exchangeRate" : 33.5,
                              "source" : "USD",
                              "target" : "THB",
                              "timestamp" : 1705233000000
                            },
                            "sourceTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "userSpecifiedCurrencyBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "userSpecifiedCurrencyChannelModifier" : -10,
                            "userSpecifiedCurrencyPremiumModifier" : 40,
                            "userSpecifiedCurrencyPromotionalModifier" : -40,
                            "userSpecifiedCurrencyTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            }
                          },
                          "ratePlanLevelFee" : {
                            "descriptions" : [ {
                              "creator" : "USER",
                              "description" : "This is a longer description in the specified language.",
                              "language" : "en",
                              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                            } ],
                            "fixedAmount" : 450.0,
                            "type" : "PER_DAY"
                          },
                          "unitPrice" : {
                            "internalBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "internalChannelModifier" : -10,
                            "internalPremiumModifier" : 40,
                            "internalPromotionalModifier" : -40,
                            "internalTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "quantity" : 1,
                            "sourceBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "sourceChannelModifier" : -10,
                            "sourcePremiumModifier" : 40,
                            "sourcePromotionalModifier" : -40,
                            "sourceToInternalCurrencyQuote" : {
                              "exchangeRate" : 33.5,
                              "source" : "USD",
                              "target" : "THB",
                              "timestamp" : 1705233000000
                            },
                            "sourceToUserCurrencyQuote" : {
                              "exchangeRate" : 33.5,
                              "source" : "USD",
                              "target" : "THB",
                              "timestamp" : 1705233000000
                            },
                            "sourceTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "userSpecifiedCurrencyBaseTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            },
                            "userSpecifiedCurrencyChannelModifier" : -10,
                            "userSpecifiedCurrencyPremiumModifier" : 40,
                            "userSpecifiedCurrencyPromotionalModifier" : -40,
                            "userSpecifiedCurrencyTotal" : {
                              "amount" : 1250.0,
                              "currency" : "USD"
                            }
                          }
                        } ],
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "guestUser" : {
                        "email" : "reservations@thesiamresidences.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "profile" : {
                          "createdDate" : "2026-01-14T09:30:00",
                          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                          "lastUpdate" : "2026-02-03T16:45:12",
                          "personal" : {
                            "address1" : "123 Petchburi Road",
                            "address2" : "Ratchathewi District",
                            "birthDate" : "1985-06-15",
                            "childQuantity" : 2,
                            "citizenship" : "Thailand",
                            "city" : "Bangkok",
                            "contactPerson" : [ {
                              "email" : "johnsmith@email.com",
                              "firstName" : "Alexandra",
                              "fullName" : "Alexandra Beaumont",
                              "lastName" : "Beaumont",
                              "phoneNumber" : "+12125551212",
                              "secondaryEmail" : "johnsmith2@email.com",
                              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                            } ],
                            "country" : "TH",
                            "gender" : "FEMALE",
                            "language" : "en",
                            "maritalStatus" : "MARRIED",
                            "petInfo" : [ {
                              "name" : "Luna",
                              "type" : "Golden Retriever"
                            } ],
                            "postalCode" : "10400",
                            "preferredCurrency" : "USD",
                            "state" : "Bangkok"
                          },
                          "preferences" : {
                            "bedTypePref" : "King bed",
                            "cuisinePref" : "Thai",
                            "foodSrvcPref" : "In-room dining",
                            "guestType" : "Business traveler",
                            "hotelChainPref" : "Mandarin Oriental",
                            "mealPref" : "Continental breakfast",
                            "physChalFeaturePref" : "Wheelchair accessible rooms",
                            "propertyLocationPref" : "Beachfront",
                            "propertyTypePref" : "Luxury Resort",
                            "roomLocationPref" : "High floor with city view",
                            "smokingAllowed" : false
                          },
                          "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                          "share" : true,
                          "user" : {
                            "email" : "alexandra@beaumont.com",
                            "firstName" : "Alexandra",
                            "fullName" : "Alexandra Beaumont",
                            "lastName" : "Beaumont",
                            "phone" : "+66212658866",
                            "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                          },
                          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                          "version" : 3
                        },
                        "telephone" : "+1 212 555 1212",
                        "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                      },
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "perkTypes" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
                      "price" : {
                        "financialBreakdown" : {
                          "beneficiaryList" : [ {
                            "accountEmail" : "reservations@thesiamresidences.com",
                            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                            "accountName" : "The Siam Residences, Bangkok",
                            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                            "amountDue" : {
                              "percent" : 0.05
                            },
                            "displayAmount" : 450.0,
                            "displayAmountRefundModifier" : 45.0,
                            "displayCurrency" : "USD",
                            "internalAmount" : 450.0,
                            "internalAmountRefundModifier" : 45.0,
                            "internalCurrency" : "USD",
                            "netDisplayAmount" : 450.0,
                            "netInternalAmount" : 450.0,
                            "netSourceAmount" : 450.0,
                            "pendingRefunds" : [ {
                              "displayAmountRefundModifier" : 45.0,
                              "internalAmountRefundModifier" : 45.0,
                              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                              "sourceAmountRefundModifier" : 45.0
                            } ],
                            "reconciled" : false,
                            "sourceAmount" : 450.0,
                            "sourceAmountRefundModifier" : 45.0,
                            "sourceCurrency" : "THB"
                          } ],
                          "displayPriceQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "internalPriceQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          }
                        },
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "offerDetails" : [ {
                          "creator" : "USER",
                          "description" : "This is a longer description in the specified language.",
                          "language" : "en",
                          "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                        } ],
                        "quantity" : 2,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "quantity" : 1,
                      "ratePlan" : {
                        "allInclusive" : false,
                        "allInclusivePlusAlcohol" : false,
                        "breakfast" : false,
                        "brunch" : false,
                        "dinner" : false,
                        "earlyCheckInCharge" : {
                          "fixedAmount" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "percent" : 0.25,
                          "type" : "PERCENTAGE"
                        },
                        "lateCheckOutCharge" : {
                          "fixedAmount" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "percent" : 0.25,
                          "type" : "PERCENTAGE"
                        },
                        "lunch" : false,
                        "name" : "BAR 1"
                      },
                      "room" : {
                        "active" : true,
                        "address" : {
                          "address1" : "234 Near da beach",
                          "address2" : "Pebble #5001",
                          "city" : "Bangkok",
                          "country" : "United States",
                          "countryCode" : "TH",
                          "county" : "Alameda county",
                          "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                          "postalCode" : "90210",
                          "state" : "CA"
                        },
                        "baseRate" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "bathroomCount" : 0,
                        "bedroomConfigurationList" : [ {
                          "bedroomList" : [ {
                            "bedList" : [ {
                              "bedTypeCode" : "1",
                              "quantity" : 2
                            } ],
                            "type" : "MASTER"
                          } ],
                          "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                          "name" : "Master Suite Layout"
                        } ],
                        "bookable" : true,
                        "commissionable" : true,
                        "composite" : false,
                        "compositeCount" : 2,
                        "contact" : {
                          "email" : "johnsmith@email.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phoneNumber" : "+12125551212",
                          "secondaryEmail" : "johnsmith2@email.com",
                          "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                        },
                        "createdDate" : "2026-01-14T09:30:00",
                        "descriptions" : [ {
                          "creator" : "USER",
                          "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                          "language" : "en",
                          "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                          "name" : "Deluxe River View Suite"
                        } ],
                        "featuredInd" : false,
                        "floor" : "3",
                        "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                        "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "includedAdultOccupancy" : 2,
                        "includedChildOccupancy" : 0,
                        "lastUpdate" : "2026-02-03T16:45:12",
                        "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                        "livingRoomCount" : 0,
                        "location" : {
                          "coordinates" : [ 100.5581533, 13.7370197 ],
                          "type" : "POINT"
                        },
                        "maxAdultOccupancy" : 1,
                        "maxChildOccupancy" : 0,
                        "maxCribs" : 1,
                        "maxOccupancy" : 2,
                        "maxRollaways" : 0,
                        "minAgeAppropriateCode" : "1",
                        "minOccupancy" : 1,
                        "minRate" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "multimedias" : [ {
                          "angle" : null,
                          "attribution" : [ ],
                          "category" : "2",
                          "descriptions" : [ {
                            "description" : "Elegant lobby of The Siam Residences",
                            "language" : "en",
                            "title" : "Lobby Entrance"
                          } ],
                          "height" : 1600,
                          "identifier" : "the-siam-residences/lobby-entrance",
                          "isLandscape" : true,
                          "lifestyleType" : null,
                          "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                          "published" : true,
                          "sort" : 10,
                          "source" : "CLOUDINARY",
                          "type" : "IMAGE",
                          "width" : 2560
                        } ],
                        "name" : "Archery lesson",
                        "nonSmoking" : true,
                        "pricePoint" : "THREE",
                        "proximityCode" : "1",
                        "publishStatus" : "PUBLISHED",
                        "quantity" : 40,
                        "recognitionList" : [ {
                          "category" : "AWARD",
                          "date" : "2026-01-14",
                          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                          "maxRating" : 10.0,
                          "officialAppointmentInd" : true,
                          "provider" : "Michelin",
                          "rating" : 8.5,
                          "ratingSymbol" : "*",
                          "type" : "PERCENT_RATING"
                        } ],
                        "roomArchitectureCode" : "1",
                        "roomCategory" : "1",
                        "roomClassificationCode" : "1",
                        "roomGender" : "Female",
                        "roomLocationCode" : "1",
                        "roomViewCode" : "1",
                        "sharedRoomInd" : false,
                        "size" : 55,
                        "socials" : [ {
                          "location" : "https://www.instagram.com/thesiamresidences",
                          "type" : "INSTAGRAM"
                        } ],
                        "sort" : 1,
                        "transactionalInventoryList" : [ {
                          "basePrice" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "descriptions" : [ {
                            "creator" : "USER",
                            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                            "language" : "en",
                            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                            "name" : "Deluxe River View Suite"
                          } ],
                          "discountedPrice" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                          "maxPax" : 10,
                          "minPax" : 2,
                          "multimedias" : [ {
                            "angle" : null,
                            "attribution" : [ ],
                            "category" : "2",
                            "descriptions" : [ {
                              "description" : "Elegant lobby of The Siam Residences",
                              "language" : "en",
                              "title" : "Lobby Entrance"
                            } ],
                            "height" : 1600,
                            "identifier" : "the-siam-residences/lobby-entrance",
                            "isLandscape" : true,
                            "lifestyleType" : null,
                            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                            "published" : true,
                            "sort" : 10,
                            "source" : "CLOUDINARY",
                            "type" : "IMAGE",
                            "width" : 2560
                          } ],
                          "name" : "1 hour session",
                          "percentDiscount" : 0.1,
                          "percentPremium" : 0.1,
                          "pricingType" : "PER_NIGHT"
                        } ],
                        "version" : 3
                      },
                      "roomImageUrl" : "https://path.to/room-image.jpg",
                      "roomRateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                      "roomRateInternalName" : "Master Rate 1",
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "startDate" : "2025-12-24",
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "roomTypeAncillaries" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "socials" : [ {
                      "location" : "https://www.instagram.com/thesiamresidences",
                      "type" : "INSTAGRAM"
                    } ],
                    "spas" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "statusHistory" : [ {
                      "actor" : "stripe-webhook",
                      "fromStatus" : "PENDING",
                      "reason" : "Payment confirmed by Stripe",
                      "timestamp" : "2026-01-15T10:30:00Z",
                      "toStatus" : "CONFIRMED"
                    } ],
                    "totalAffiliateAgencyFeesSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "totalPaymentProcessingFeeSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "totalPlatformFeeSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "totalSalesSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "totalSupplierAgencyFeesSourceAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "userSession" : {
                      "currency" : "USD",
                      "itinerary" : {
                        "endDate" : "2024-01-02",
                        "items" : [ {
                          "adults" : 2,
                          "children" : [ {
                            "age" : 8,
                            "quantity" : 2
                          } ]
                        } ],
                        "nights" : 7,
                        "startDate" : "2024-01-01"
                      },
                      "language" : "en",
                      "lifestyle" : "LUXURY",
                      "promotionalCodes" : [ "promo-1" ],
                      "selectedRoomConfigurationIndex" : 0
                    },
                    "version" : 3
                  } ],
                  "first" : true,
                  "last" : false,
                  "number" : 0,
                  "numberOfElements" : 20,
                  "size" : 20,
                  "totalElements" : 1234,
                  "totalPages" : 62
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/analytics" : {
      "post" : {
        "tags" : [ "Analytics" ],
        "summary" : "Aggregate bookings",
        "description" : "Computes comprehensive booking and revenue analytics for a single property over the specified time period, including booking counts, cancellations, and revenue by service type.",
        "operationId" : "show-property-booking-analytics",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Managing entity identifier (UUID)",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Analysis period and filters",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BookingOverviewRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Booking analytics for the requested property and period",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BookingAnalytics_Supplier"
                },
                "example" : {
                  "charts" : [ {
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "legend" : {
                      "data" : [ "Bookings" ]
                    },
                    "series" : [ {
                      "data" : [ 12, 18, 25, 30, 22, 40 ],
                      "name" : "Bookings"
                    } ],
                    "title" : {
                      "text" : "Monthly Bookings"
                    },
                    "xAxis" : {
                      "data" : [ "Jan", "Feb", "Mar", "Apr", "May", "Jun" ]
                    }
                  } ]
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/announcement" : {
      "post" : {
        "tags" : [ "Announcement" ],
        "summary" : "Create announcement",
        "description" : "Creates a new date-based announcement for the given property from the supplied request. Announcements can be scheduled for specific date ranges or configured to always display. Requires CONTENT:WRITE on the managing entity. Returns HTTP 201 with the created announcement including its generated identifier.",
        "operationId" : "create-announcement",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the property (managing entity) where the announcement will be created",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Announcement content including multilingual text, display date range and visibility settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertAnnouncementRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Announcement created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnnouncementLightweight_Supplier"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on" : {
      "post" : {
        "tags" : [ "Add-On" ],
        "summary" : "Create add-on",
        "description" : "Creates a new add-on for the property with the provided details. Returns the created add-on record. Requires INVENTORY:WRITE permission on the property.",
        "operationId" : "create-add-on",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that will own the new add-on",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Add-on details including name, description, pricing, mandatory flag and media references",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertAddOnRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Add-on created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}/multimedia" : {
      "post" : {
        "tags" : [ "Add-On" ],
        "summary" : "Upload media files",
        "description" : "Uploads one or more multipart image or video files to Cloudinary and attaches them to the add-on. Returns the updated add-on with the new media. Requires INVENTORY:WRITE permission.",
        "operationId" : "upload-binary-add-on-media",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the add-on",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to attach uploaded files to",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "files" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string",
                      "format" : "binary"
                    }
                  }
                },
                "required" : [ "files" ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "207" : {
            "description" : "Media files uploaded and attached to the add-on successfully. Returns the updated add-on.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Add-On" ],
        "summary" : "Add media to add-on",
        "description" : "Attaches an existing image or video reference to the add-on by providing media metadata. Binary upload is handled separately. Requires INVENTORY:WRITE permission.",
        "operationId" : "add-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the add-on",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to attach media to",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Media reference metadata including URL, caption and sort order to attach to the add-on",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SimpleMultimedia"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Media reference attached to the add-on successfully. Returns the updated add-on.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/draft" : {
      "post" : {
        "tags" : [ "Add-On" ],
        "summary" : "Create draft add-on",
        "description" : "Creates an empty DRAFT add-on under the given managing entity so a section-by-section editor has an id to patch against. Takes no body; the add-on stays a DRAFT (not announced to the market) until its sections are completed. Requires INVENTORY:WRITE and returns 201 with the created draft.",
        "operationId" : "create-draft-add-on",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier to create the draft add-on under.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "201" : {
            "description" : "Draft add-on created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/schedule/{inventoryIdentifier}/item/{identifier}" : {
      "put" : {
        "tags" : [ "Scheduler" ],
        "summary" : "Update an existing schedule item",
        "description" : "Updates an existing calendar item identified by its identifier on a piece of inventory. Allows modifying the event timing, timezone, and attendee count. Returns the updated item.",
        "operationId" : "update-schedule-item",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Identifier of the managing entity (property/company) that owns the inventory",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "inventoryIdentifier",
          "in" : "path",
          "description" : "Identifier of the travel inventory containing the schedule item to update",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43"
        }, {
          "name" : "identifier",
          "in" : "path",
          "description" : "Identifier of the schedule item to update",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated schedule item details including revised start and end times, timezone, and attendee count",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateScheduleItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Schedule item updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScheduleItemLightweight_Supplier"
                },
                "example" : {
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "attendees" : 2,
                  "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                  "bookingOwnerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "brandName" : "The Siam Residences",
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "created" : "2026-01-14T09:30:00",
                  "createdDate" : "2026-01-14T09:30:00",
                  "description" : "Reservation for Jane Doe - 2 PAX",
                  "email" : "reservations@thesiamresidences.com",
                  "emailHeaderLogoUrl" : "https://res.cloudinary.com/wink/image/upload/v1/branding/the-siam-residences-logo.png",
                  "end" : "2026-02-15T15:30:00",
                  "endTimezone" : "Asia/Bangkok",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "isAllDay" : true,
                  "language" : "en",
                  "lastModified" : "2026-02-03T16:45:12",
                  "lastName" : "Beaumont",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "localizedVenueName" : "ห้องอาหารหลัก",
                  "logoIdentifier" : "the-siam-residences-logo",
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "recurrenceException" : [ "2026-02-16T14:00:00", "2026-02-18T14:00:00" ],
                  "recurrenceId" : "a2d5f8b1-1c4e-4d7a-8b3f-2e9a0c6b5d41",
                  "recurrenceRule" : "FREQ=DAILY;COUNT=5",
                  "sequence" : 0,
                  "start" : "2026-02-15T14:00:00",
                  "startTimezone" : "Asia/Bangkok",
                  "title" : "Jane Doe +1",
                  "type" : "MEETING_ROOM",
                  "venueName" : "The Siam Residences Dining Hall",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Scheduler" ],
        "summary" : "Delete a schedule item",
        "description" : "Removes a calendar item identified by its identifier from the inventory's schedule. The operation is permanent and cannot be undone. Returns the deleted item.",
        "operationId" : "remove-schedule-item",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Identifier of the managing entity (property/company) that owns the inventory",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "inventoryIdentifier",
          "in" : "path",
          "description" : "Identifier of the travel inventory containing the schedule item to delete",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43"
        }, {
          "name" : "identifier",
          "in" : "path",
          "description" : "Identifier of the schedule item to delete",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Schedule item deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScheduleItemLightweight_Supplier"
                },
                "example" : {
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "attendees" : 2,
                  "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                  "bookingOwnerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "brandName" : "The Siam Residences",
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "created" : "2026-01-14T09:30:00",
                  "createdDate" : "2026-01-14T09:30:00",
                  "description" : "Reservation for Jane Doe - 2 PAX",
                  "email" : "reservations@thesiamresidences.com",
                  "emailHeaderLogoUrl" : "https://res.cloudinary.com/wink/image/upload/v1/branding/the-siam-residences-logo.png",
                  "end" : "2026-02-15T15:30:00",
                  "endTimezone" : "Asia/Bangkok",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "isAllDay" : true,
                  "language" : "en",
                  "lastModified" : "2026-02-03T16:45:12",
                  "lastName" : "Beaumont",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "localizedVenueName" : "ห้องอาหารหลัก",
                  "logoIdentifier" : "the-siam-residences-logo",
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "recurrenceException" : [ "2026-02-16T14:00:00", "2026-02-18T14:00:00" ],
                  "recurrenceId" : "a2d5f8b1-1c4e-4d7a-8b3f-2e9a0c6b5d41",
                  "recurrenceRule" : "FREQ=DAILY;COUNT=5",
                  "sequence" : 0,
                  "start" : "2026-02-15T14:00:00",
                  "startTimezone" : "Asia/Bangkok",
                  "title" : "Jane Doe +1",
                  "type" : "MEETING_ROOM",
                  "venueName" : "The Siam Residences Dining Hall",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/rate/update" : {
      "put" : {
        "tags" : [ "Daily Rate" ],
        "summary" : "Update rates via keyed list",
        "description" : "Apply per-day rate and availability changes using an explicit list of keyed daily rate updates. Each update identifies a specific date and master rate, then applies custom changes for that day. This endpoint supports updates to deltaQuantity with idempotency keys to safely adjust inventory over time.",
        "operationId" : "update-rate-list",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (managing entity UUID) owning the rates to update",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Keyed list of per-day rate updates, each identifying a specific date and master rate with custom nightly rate, availability, and occupancy changes",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/UpsertIndividualRateRequestWrapper_Supplier"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Per-day rate changes applied; returns the updated Rate documents",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RateLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "closedOnArrival" : false,
                  "closedOnDeparture" : false,
                  "currencyCode" : "THB",
                  "day" : 14,
                  "extraChildRateModifier" : {
                    "percent" : 0.15,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "guestRoomIdentifier" : "4b7e2c9a-6f1d-4a0b-8c3e-5d2f9b1a7c84",
                  "hotelIdentifier" : "7d4f2a1b-3e8c-4b0d-a5f9-1c2e6b4d8f07",
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "master" : true,
                  "maxLengthOfStay" : 30,
                  "minLengthOfStay" : 2,
                  "month" : 1,
                  "quantity" : 9,
                  "rate" : 4500.0,
                  "ratePlanIdentifier" : "9a2d5e8c-1f4b-4c7a-b3e6-2d0f8a5c3e91",
                  "rateSource" : "NONE",
                  "singleOccupancyRateModifier" : {
                    "percent" : 0.8,
                    "type" : "PERCENTAGE"
                  },
                  "year" : 2026
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/multimedia/{multimediaIdentifier}" : {
      "put" : {
        "tags" : [ "Media" ],
        "summary" : "Update",
        "description" : "Update the attributes of a single media record identified by its identifier. Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update a single media associated with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "multimediaIdentifier",
          "in" : "path",
          "description" : "Update record for this media identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated attributes for the target media asset, including URL, caption, sort order, and media type",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record reflecting the changes to the specified media record",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Media" ],
        "summary" : "Delete",
        "description" : "Remove a single media asset from the property by its identifier.",
        "operationId" : "remove-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Remove a single media associated with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "multimediaIdentifier",
          "in" : "path",
          "description" : "Remove record for this media identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the specified media asset removed",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/master-rate/{masterRateIdentifier}/rate/bulk" : {
      "put" : {
        "tags" : [ "Daily Rate" ],
        "summary" : "Bulk update rates for date range",
        "description" : "Apply uniform rate and availability changes across all days in a date range for a single master rate. Use this to quickly update nightly rate, availability limits, and occupancy restrictions across multiple dates.",
        "operationId" : "bulk-update-rate",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier (managing entity UUID) owning the rates to update",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "masterRateIdentifier",
          "in" : "path",
          "description" : "Master rate identifier (room type + rate plan) to bulk update",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Uniform rate and availability changes to apply across all days in the specified date range for this master rate",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertBulkRateRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "All daily rates in the date range updated uniformly; returns the updated Rate documents",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/RateLightweight_Supplier"
                  }
                },
                "example" : [ {
                  "closedOnArrival" : false,
                  "closedOnDeparture" : false,
                  "currencyCode" : "THB",
                  "day" : 14,
                  "extraChildRateModifier" : {
                    "percent" : 0.15,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "guestRoomIdentifier" : "4b7e2c9a-6f1d-4a0b-8c3e-5d2f9b1a7c84",
                  "hotelIdentifier" : "7d4f2a1b-3e8c-4b0d-a5f9-1c2e6b4d8f07",
                  "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "master" : true,
                  "maxLengthOfStay" : 30,
                  "minLengthOfStay" : 2,
                  "month" : 1,
                  "quantity" : 9,
                  "rate" : 4500.0,
                  "ratePlanIdentifier" : "9a2d5e8c-1f4b-4c7a-b3e6-2d0f8a5c3e91",
                  "rateSource" : "NONE",
                  "singleOccupancyRateModifier" : {
                    "percent" : 0.8,
                    "type" : "PERCENTAGE"
                  },
                  "year" : 2026
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/transactional-item/{itemIdentifier}" : {
      "put" : {
        "tags" : [ "Spa" ],
        "summary" : "Update transactional item",
        "description" : "Replaces an existing transactional inventory item on a spa. Requires INVENTORY:WRITE.",
        "operationId" : "update-transactional-item",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to update.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated transactional item definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item updated successfully; the updated spa is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Spa" ],
        "summary" : "Delete transactional item",
        "description" : "Removes a transactional inventory item from a spa. Requires INVENTORY:WRITE.",
        "operationId" : "delete-transactional-item",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to delete.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item removed successfully; the updated spa is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/transactional-item/{itemIdentifier}" : {
      "put" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Update transactional item",
        "description" : "Replaces an existing transactional inventory item on a room type. Requires INVENTORY:WRITE.",
        "operationId" : "update-transactional-item_1",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to update.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated transactional item definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item updated successfully; the updated room type is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Delete transactional item",
        "description" : "Removes a transactional inventory item from a room type. Requires INVENTORY:WRITE.",
        "operationId" : "delete-transactional-item_1",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to delete.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item removed successfully; the updated room type is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/improve" : {
      "put" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Improve room copy with AI",
        "description" : "Uses AI to enhance the room type's descriptive text and related copy, returning the suggested improvements. Requires INVENTORY:WRITE on the property.",
        "operationId" : "improve-guest-room",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to improve.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "AI improvement request carrying the existing room type copy and locale preferences so the AI can enhance descriptions and marketing text",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ImproveRoomTypeRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "AI-improved room type copy returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ImproveRoomTypeResponse_Supplier"
                },
                "example" : {
                  "description" : "Indulge in breathtaking panoramic ocean views from this elegantly appointed deluxe suite, featuring a plush king bed, a private balcony, and refined Thai-inspired décor.",
                  "title" : "Spectacular Deluxe Ocean-View Suite"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/transactional-item/{itemIdentifier}" : {
      "put" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Update transactional item",
        "description" : "Replaces an existing transactional inventory item on a restaurant. Requires INVENTORY:WRITE.",
        "operationId" : "update-transactional-item_2",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to update.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated transactional item definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item updated successfully; the updated restaurant is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Delete transactional item",
        "description" : "Removes a transactional inventory item from a restaurant. Requires INVENTORY:WRITE.",
        "operationId" : "delete-transactional-item_2",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to delete.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item removed successfully; the updated restaurant is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/transactional-item/{itemIdentifier}" : {
      "put" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Update transactional item",
        "description" : "Replaces an existing transactional inventory item on a meeting room. Requires INVENTORY:WRITE.",
        "operationId" : "update-transactional-item_3",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to update.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated transactional item definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item updated successfully; the updated meeting room is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Delete transactional item",
        "description" : "Removes a transactional inventory item from a meeting room. Requires INVENTORY:WRITE.",
        "operationId" : "delete-transactional-item_3",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to delete.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item removed successfully; the updated meeting room is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/transactional-item/{itemIdentifier}" : {
      "put" : {
        "tags" : [ "Place" ],
        "summary" : "Update transactional item",
        "description" : "Replaces an existing transactional inventory item on a place. Requires INVENTORY:WRITE.",
        "operationId" : "update-transactional-item_4",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to update.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated transactional item definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item updated successfully; the updated place is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Place" ],
        "summary" : "Delete transactional item",
        "description" : "Removes a transactional inventory item from a place. Requires INVENTORY:WRITE.",
        "operationId" : "delete-transactional-item_4",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to delete.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item removed successfully; the updated place is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/transactional-item/{itemIdentifier}" : {
      "put" : {
        "tags" : [ "Attraction" ],
        "summary" : "Update transactional item",
        "description" : "Replaces an existing transactional inventory item on an attraction. Requires INVENTORY:WRITE.",
        "operationId" : "update-transactional-item_5",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to update.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated transactional item definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item updated successfully; the updated attraction is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Attraction" ],
        "summary" : "Delete transactional item",
        "description" : "Removes a transactional inventory item from an attraction. Requires INVENTORY:WRITE.",
        "operationId" : "delete-transactional-item_5",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to delete.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item removed successfully; the updated attraction is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/transactional-item/{itemIdentifier}" : {
      "put" : {
        "tags" : [ "Activity" ],
        "summary" : "Update transactional item",
        "description" : "Replaces an existing transactional inventory item on an activity. Requires INVENTORY:WRITE.",
        "operationId" : "update-transactional-item_6",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to update.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated transactional item definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertTransactionalItemRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item updated successfully; the updated activity is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Activity" ],
        "summary" : "Delete transactional item",
        "description" : "Removes a transactional inventory item from an activity. Requires INVENTORY:WRITE.",
        "operationId" : "delete-transactional-item_6",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to delete.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item removed successfully; the updated activity is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/review/{reviewIdentifier}/response" : {
      "patch" : {
        "tags" : [ "Booking" ],
        "summary" : "Respond to review",
        "description" : "Lets a hotelier post a public reply to a guest review for the given managing entity, attributing the response to the authenticated user.",
        "operationId" : "respond-to-review",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Respond to review for property with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "reviewIdentifier",
          "in" : "path",
          "description" : "Respond to review with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "The hotelier's public response text",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ReviewResponse_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Review response saved and published",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ReviewLightweight_Supplier"
                },
                "example" : {
                  "answers" : [ {
                    "category" : "SERVICE",
                    "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
                    "sort" : 1,
                    "value" : 7
                  } ],
                  "approvedImage" : false,
                  "approvedText" : true,
                  "averageScore" : 8.7,
                  "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                  "createdDate" : "2026-01-14T09:30:00",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
                  "responded" : false,
                  "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
                  "reviewDate" : "2026-01-14T09:30:00",
                  "roomNumber" : "501",
                  "roomRating" : 9,
                  "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
                  "user" : {
                    "email" : "reservations@thesiamresidences.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "telephone" : "+66 2 126 8866",
                    "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                  },
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/welcome-text" : {
      "patch" : {
        "tags" : [ "Welcome Text" ],
        "summary" : "Save welcome text",
        "description" : "Persists the localized welcome text for the given property from the supplied request. Requires CONTENT:WRITE on the managing entity.",
        "operationId" : "update-welcome-text",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update basic information for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Localized welcome text content to persist for the property, keyed by language code",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertWelcomeTextRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the new welcome text persisted",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/services" : {
      "patch" : {
        "tags" : [ "Property" ],
        "summary" : "Update amenities",
        "description" : "Saves the property's amenity, accessibility, and security feature selections. Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-services",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Set amenities for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Amenity and service selections including accessibility features, security provisions, and general property facilities",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdatePropertyAmenitiesAndServicesRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record reflecting the new amenity and service selections",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/profile" : {
      "patch" : {
        "tags" : [ "Property" ],
        "summary" : "Update profile",
        "description" : "Applies changes to the property's core profile information (such as name and descriptive text) and returns the updated property. Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-property-profile",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update basic information for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Core property profile fields to update, such as name, star rating, property type, and contact details",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertPropertyProfileRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record reflecting the new profile information",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/location" : {
      "patch" : {
        "tags" : [ "Geo-Location" ],
        "summary" : "Set",
        "description" : "Updates the property's map coordinates. Note: x = longitude, y = latitude, type = Point, coordinates = [longitude, latitude]. Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-geo-location",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update geo-location for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Update geo-location request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateLocationRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record reflecting the new geo-location coordinates",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/general-manager" : {
      "patch" : {
        "tags" : [ "General Manager" ],
        "summary" : "Update general manager",
        "description" : "Saves the general manager's profile details for the property and returns the updated record. Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-general-manager",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update basic information for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "General manager profile details including name, title, contact information and biography",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GeneralManager_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record including the new general manager details",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/property/contact-info" : {
      "patch" : {
        "tags" : [ "Property" ],
        "summary" : "Update reservations desk",
        "description" : "Updates the reservation desk contact details and hours of operation for the property. Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-reservations-desk",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Update important request for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated reservations desk contact details and operating hours",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertContactInfoRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record including the new reservations desk contact details",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/master-rate/{masterRateIdentifier}/toggle" : {
      "patch" : {
        "tags" : [ "Master Rate" ],
        "summary" : "Toggle master rate enabled status",
        "description" : "Enables or disables a master rate for sale to travelers, without modifying its other configuration. Disabled rates remain in the system but are not available for booking. Requires INVENTORY:WRITE permission on the managing entity.",
        "operationId" : "toggle-master-rate",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier that owns the master rate.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "masterRateIdentifier",
          "in" : "path",
          "description" : "Master rate identifier to toggle.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Toggle payload containing the enabled flag that determines whether the master rate is available for booking",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ToggleMasterRateRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Master rate enabled status successfully updated.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MasterRateLightweight_Supplier"
                },
                "example" : {
                  "enabled" : true,
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "name" : "Premium King - Best Available Rate",
                  "perkTypes" : [ {
                    "guaranteed" : true,
                    "id" : "PERK_GUARANTEED_UPGRADE",
                    "level" : 3
                  } ],
                  "ratePlan" : {
                    "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                    "name" : "Best Available Rate"
                  },
                  "roomType" : {
                    "identifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                    "name" : "Premium King Room"
                  }
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/master-rate/{masterRateIdentifier}/perks" : {
      "patch" : {
        "tags" : [ "Master Rate" ],
        "summary" : "Set master rate perks",
        "description" : "Replaces the set of perks (room upgrades, early check-in, etc.) offered with a master rate to incentivize bookings. Sending an empty list removes all perks. Requires INVENTORY:WRITE permission on the managing entity.",
        "operationId" : "set-perks",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier that owns the master rate.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "masterRateIdentifier",
          "in" : "path",
          "description" : "Master rate identifier to update with new perks.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Perks payload containing the full list of perks (e.g. room upgrades, early check-in, welcome amenities) to attach to the master rate, replacing any existing perks",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SetMasterRatePerkRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Master rate perks successfully updated.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MasterRateLightweight_Supplier"
                },
                "example" : {
                  "enabled" : true,
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "name" : "Premium King - Best Available Rate",
                  "perkTypes" : [ {
                    "guaranteed" : true,
                    "id" : "PERK_GUARANTEED_UPGRADE",
                    "level" : 3
                  } ],
                  "ratePlan" : {
                    "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                    "name" : "Best Available Rate"
                  },
                  "roomType" : {
                    "identifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                    "name" : "Premium King Room"
                  }
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/transactional-item/{itemIdentifier}/media" : {
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch transactional item media",
        "description" : "Replaces the full ordered media list of a specific transactional inventory item on a spa. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-media",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Full ordered media list for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemMultimediaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item media patched successfully; the updated spa is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/transactional-item/{itemIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch transactional item descriptions",
        "description" : "Replaces the localized descriptions of a specific transactional inventory item on a spa. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-descriptions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Localized descriptions for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemDescriptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item descriptions patched successfully; the updated spa is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/social" : {
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch spa social",
        "description" : "Incrementally updates only the social section (social network account links) of a spa. Draft-friendly. Send the spa's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-spa-social",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Social section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchSpaSocialRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Spa social patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/schedule" : {
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch spa schedule",
        "description" : "Incrementally updates only the schedule section (applicable date range, opening hours, reservation-required flag, days-of-week pattern) of a spa. Draft-friendly. Send the spa's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-spa-schedule",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Schedule section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchSpaScheduleRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Spa schedule patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/recognition" : {
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch spa recognition",
        "description" : "Incrementally updates only the recognition section (awards, certifications, ratings) of a spa. Draft-friendly. Send the spa's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-spa-recognition",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Recognition section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchSpaRecognitionRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Spa recognition patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/proximity" : {
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch spa proximity",
        "description" : "Incrementally updates only the proximity section (proximity code, geo-location, contact, address) of a spa. Draft-friendly. Send the spa's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-spa-proximity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Proximity section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchSpaProximityRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Spa proximity patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/distribution" : {
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch spa distribution",
        "description" : "Incrementally updates only the distribution section (bookability, commission eligibility, price point, transactional inventory) of a spa. Draft-friendly. Send the spa's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-spa-distribution",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Distribution section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchSpaDistributionRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Spa distribution patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch spa descriptions",
        "description" : "Incrementally updates only the localized descriptions section of a spa. Draft-friendly; promotes a DRAFT to PUBLISHED once the spa becomes complete. Send the spa's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-spa-descriptions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Descriptions section: the localized descriptions list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchSpaDescriptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Spa descriptions patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/configuration" : {
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch spa configuration",
        "description" : "Incrementally updates only the configuration section (name, active flag, featured indicator) of a spa. Draft-friendly: an incomplete spa persists as a DRAFT and is promoted to PUBLISHED once complete. Send the spa's current version as If-Match for optimistic concurrency (409 on conflict). Requires INVENTORY:WRITE.",
        "operationId" : "patch-spa-configuration",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Configuration section: name, active flag, featured indicator.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchSpaConfigurationRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Spa configuration patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/amenities" : {
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch spa amenities",
        "description" : "Incrementally updates only the amenities section (OTA specification codes for massage types, facilities, wellness offerings) of a spa. Draft-friendly. Send the spa's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-spa-amenities",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Amenities section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchSpaAmenitiesRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Spa amenities patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/active" : {
      "patch" : {
        "tags" : [ "Spa" ],
        "summary" : "Patch spa active flag",
        "description" : "Incrementally updates only the active availability flag of a spa. Draft-friendly. Send the spa's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-spa-active",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The spa's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Active flag section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchSpaActiveRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Spa active flag patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/transactional-item/{itemIdentifier}/media" : {
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch transactional item media",
        "description" : "Replaces the full ordered media list of a specific transactional inventory item on a room type. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-media_1",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Full ordered media list for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemMultimediaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item media patched successfully; the updated room type is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/transactional-item/{itemIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch transactional item descriptions",
        "description" : "Replaces the localized descriptions of a specific transactional inventory item on a room type. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-descriptions_1",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Localized descriptions for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemDescriptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item descriptions patched successfully; the updated room type is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/options" : {
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch room options",
        "description" : "Incrementally updates only the room-options section (composite room, shared indicator, gender) of a room type. Draft-friendly. Send the room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-guest-room-options",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Room-options section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRoomTypeOptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type options patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/layout" : {
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch room layout",
        "description" : "Incrementally updates only the layout & extras section (size, bathroom/living-room counts, rollaways, cribs) of a room type. Draft-friendly. Send the room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-guest-room-layout",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Layout section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRoomTypeLayoutRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type layout patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/essentials" : {
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch room essentials",
        "description" : "Incrementally updates only the essentials section (name, quantity, rack/best-available rates, occupancy) of a room type. Draft-friendly: an incomplete room persists as a DRAFT and is promoted to PUBLISHED once complete. Send the room's current version as If-Match for optimistic concurrency (412/409 on conflict). Requires INVENTORY:WRITE on the property.",
        "operationId" : "patch-guest-room-essentials",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; when present a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Essentials section: name, quantity, rack/best-available rates, smoking and occupancy fields.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRoomTypeEssentialsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type essentials patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/distribution" : {
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch room distribution",
        "description" : "Incrementally updates only the distribution section (commission eligibility, price point, bookability) of a room type. Draft-friendly. Send the room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-guest-room-distribution",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Distribution section: commission eligibility, price point, and bookability.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRoomTypeDistributionRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type distribution patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch room descriptions",
        "description" : "Incrementally updates only the localized descriptions section of a room type. Draft-friendly; promotes a DRAFT to PUBLISHED once the room becomes complete. Send the room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-guest-room-descriptions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Descriptions section: the localized descriptions list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRoomTypeDescriptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type descriptions patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/classification" : {
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch room classification",
        "description" : "Incrementally updates only the classification section (segment, location, view, classification and architecture codes, floor) of a room type. Draft-friendly. Send the room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-guest-room-classification",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Classification section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRoomTypeClassificationRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type classification patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/bedrooms" : {
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch room bedrooms",
        "description" : "Incrementally updates only the bedrooms section (bed/bedroom configuration list) of a room type. Draft-friendly; promotes a DRAFT to PUBLISHED once the room becomes complete. Send the room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-guest-room-bedrooms",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Bedrooms section: the bed/bedroom configuration list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRoomTypeBedroomsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type bedrooms patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/amenities" : {
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch room amenities",
        "description" : "Incrementally updates only the amenities section (general amenities plus disability and security feature codes) of a room type. Draft-friendly. Send the room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-guest-room-amenities",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Amenities section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRoomTypeAmenitiesRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type amenities patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/active" : {
      "patch" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Patch room active flag",
        "description" : "Incrementally updates only the active availability flag of a room type. Draft-friendly. Send the room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-guest-room-active",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The room type's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Active flag section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRoomTypeActiveRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Room type active flag patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/transactional-item/{itemIdentifier}/media" : {
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch transactional item media",
        "description" : "Replaces the full ordered media list of a specific transactional inventory item on a restaurant. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-media_2",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Full ordered media list for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemMultimediaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item media patched successfully; the updated restaurant is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/transactional-item/{itemIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch transactional item descriptions",
        "description" : "Replaces the localized descriptions of a specific transactional inventory item on a restaurant. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-descriptions_2",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Localized descriptions for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemDescriptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item descriptions patched successfully; the updated restaurant is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/social" : {
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch restaurant social",
        "description" : "Incrementally updates only the social section (social network account links) of a restaurant. Draft-friendly. Send the restaurant's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-restaurant-social",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Social section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRestaurantSocialRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Restaurant social patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/schedule" : {
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch restaurant schedule",
        "description" : "Incrementally updates only the schedule section (applicable date range, opening hours, reservation-required flag, days-of-week pattern) of a restaurant. Draft-friendly. Send the restaurant's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-restaurant-schedule",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Schedule section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRestaurantScheduleRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Restaurant schedule patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/recognition" : {
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch restaurant recognition",
        "description" : "Incrementally updates only the recognition section (awards, certifications, ratings) of a restaurant. Draft-friendly. Send the restaurant's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-restaurant-recognition",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Recognition section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRestaurantRecognitionRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Restaurant recognition patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/proximity" : {
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch restaurant proximity",
        "description" : "Incrementally updates only the proximity section (proximity code, geo-location, contact, address) of a restaurant. Draft-friendly. Send the restaurant's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-restaurant-proximity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Proximity section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRestaurantProximityRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Restaurant proximity patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/distribution" : {
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch restaurant distribution",
        "description" : "Incrementally updates only the distribution section (bookability, commission eligibility, price point, transactional inventory) of a restaurant. Draft-friendly. Send the restaurant's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-restaurant-distribution",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Distribution section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRestaurantDistributionRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Restaurant distribution patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch restaurant descriptions",
        "description" : "Incrementally updates only the localized descriptions section of a restaurant. Draft-friendly; promotes a DRAFT to PUBLISHED once the restaurant becomes complete. Send the restaurant's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-restaurant-descriptions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Descriptions section: the localized descriptions list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRestaurantDescriptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Restaurant descriptions patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/configuration" : {
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch restaurant configuration",
        "description" : "Incrementally updates only the configuration section (name, active flag, featured indicator, seating capacity/party size, meal service flags) of a restaurant. Draft-friendly: an incomplete restaurant persists as a DRAFT and is promoted to PUBLISHED once complete. Send the restaurant's current version as If-Match for optimistic concurrency (409 on conflict). Requires INVENTORY:WRITE.",
        "operationId" : "patch-restaurant-configuration",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Configuration section: name, active flag, featured indicator, seating capacity/party size, meal service flags.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRestaurantConfigurationRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Restaurant configuration patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/amenities" : {
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch restaurant amenities",
        "description" : "Incrementally updates only the amenities section of a restaurant — all three OTA code lists (amenities, cuisine types, restaurant category info codes) edited together. Draft-friendly. Send the restaurant's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-restaurant-amenities",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Amenities section: amenities, cuisineCodes, infoCodes.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRestaurantAmenitiesRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Restaurant amenities patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/active" : {
      "patch" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Patch restaurant active flag",
        "description" : "Incrementally updates only the active availability flag of a restaurant. Draft-friendly. Send the restaurant's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-restaurant-active",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the restaurant must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Restaurant identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The restaurant's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Active flag section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRestaurantActiveRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Restaurant active flag patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/transactional-item/{itemIdentifier}/media" : {
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch transactional item media",
        "description" : "Replaces the full ordered media list of a specific transactional inventory item on a meeting room. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-media_3",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Full ordered media list for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemMultimediaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item media patched successfully; the updated meeting room is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/transactional-item/{itemIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch transactional item descriptions",
        "description" : "Replaces the localized descriptions of a specific transactional inventory item on a meeting room. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-descriptions_3",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Localized descriptions for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemDescriptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item descriptions patched successfully; the updated meeting room is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/social" : {
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch meeting room social",
        "description" : "Incrementally updates only the social section (social network account links) of a meeting room. Draft-friendly. Send the meeting room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-meeting-room-social",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Social section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchMeetingRoomSocialRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting room social patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/schedule" : {
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch meeting room schedule",
        "description" : "Incrementally updates only the schedule section (applicable date range, opening hours, reservation-required flag, days-of-week pattern) of a meeting room. Draft-friendly. Send the meeting room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-meeting-room-schedule",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Schedule section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchMeetingRoomScheduleRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting room schedule patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/recognition" : {
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch meeting room recognition",
        "description" : "Incrementally updates only the recognition section (awards, certifications, ratings) of a meeting room. Draft-friendly. Send the meeting room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-meeting-room-recognition",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Recognition section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchMeetingRoomRecognitionRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting room recognition patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/proximity" : {
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch meeting room proximity",
        "description" : "Incrementally updates only the proximity section (proximity code, geo-location, contact, address) of a meeting room. Draft-friendly. Send the meeting room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-meeting-room-proximity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Proximity section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchMeetingRoomProximityRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting room proximity patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/distribution" : {
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch meeting room distribution",
        "description" : "Incrementally updates only the distribution section (bookability, commission eligibility, price point, transactional inventory) of a meeting room. Draft-friendly. Send the meeting room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-meeting-room-distribution",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Distribution section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchMeetingRoomDistributionRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting room distribution patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch meeting room descriptions",
        "description" : "Incrementally updates only the localized descriptions section of a meeting room. Draft-friendly; promotes a DRAFT to PUBLISHED once the meeting room becomes complete. Send the meeting room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-meeting-room-descriptions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Descriptions section: the localized descriptions list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchMeetingRoomDescriptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting room descriptions patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/configuration" : {
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch meeting room configuration",
        "description" : "Incrementally updates only the configuration section (name, type/level/access codes, capacity, physical dimensions, dedicated/irregular flags, active flag, featured indicator) of a meeting room. Draft-friendly: an incomplete meeting room persists as a DRAFT and is promoted to PUBLISHED once complete. Send the meeting room's current version as If-Match for optimistic concurrency (409 on conflict). Requires INVENTORY:WRITE.",
        "operationId" : "patch-meeting-room-configuration",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Configuration section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchMeetingRoomConfigurationRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting room configuration patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/amenities" : {
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch meeting room amenities",
        "description" : "Incrementally updates only the amenities section (OTA specification codes) of a meeting room. Draft-friendly. Send the meeting room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-meeting-room-amenities",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Amenities section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchMeetingRoomAmenitiesRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting room amenities patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/active" : {
      "patch" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Patch meeting room active flag",
        "description" : "Incrementally updates only the active availability flag of a meeting room. Draft-friendly. Send the meeting room's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-meeting-room-active",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the meeting room must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Meeting room identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The meeting room's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Active flag section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchMeetingRoomActiveRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Meeting room active flag patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/transactional-item/{itemIdentifier}/media" : {
      "patch" : {
        "tags" : [ "Place" ],
        "summary" : "Patch transactional item media",
        "description" : "Replaces the full ordered media list of a specific transactional inventory item on a place. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-media_4",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Full ordered media list for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemMultimediaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item media patched successfully; the updated place is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/transactional-item/{itemIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Place" ],
        "summary" : "Patch transactional item descriptions",
        "description" : "Replaces the localized descriptions of a specific transactional inventory item on a place. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-descriptions_4",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Localized descriptions for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemDescriptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item descriptions patched successfully; the updated place is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/social" : {
      "patch" : {
        "tags" : [ "Place" ],
        "summary" : "Patch place social",
        "description" : "Incrementally updates only the social section (social network account links) of a place. Draft-friendly. Send the place's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-place-social",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Social section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchPlaceSocialRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Place social patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/schedule" : {
      "patch" : {
        "tags" : [ "Place" ],
        "summary" : "Patch place schedule",
        "description" : "Incrementally updates only the schedule section (applicable date range, opening hours, reservation-required flag, days-of-week pattern) of a place. Draft-friendly. Send the place's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-place-schedule",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Schedule section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchPlaceScheduleRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Place schedule patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/recognition" : {
      "patch" : {
        "tags" : [ "Place" ],
        "summary" : "Patch place recognition",
        "description" : "Incrementally updates only the recognition section (awards, certifications, ratings) of a place. Draft-friendly. Send the place's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-place-recognition",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Recognition section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchPlaceRecognitionRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Place recognition patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/proximity" : {
      "patch" : {
        "tags" : [ "Place" ],
        "summary" : "Patch place proximity",
        "description" : "Incrementally updates only the proximity section (proximity code, geo-location, contact, address) of a place. Draft-friendly. Send the place's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-place-proximity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Proximity section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchPlaceProximityRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Place proximity patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/distribution" : {
      "patch" : {
        "tags" : [ "Place" ],
        "summary" : "Patch place distribution",
        "description" : "Incrementally updates only the distribution section (bookability, commission eligibility, price point, transactional inventory) of a place. Draft-friendly. Send the place's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-place-distribution",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Distribution section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchPlaceDistributionRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Place distribution patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Place" ],
        "summary" : "Patch place descriptions",
        "description" : "Incrementally updates only the localized descriptions section of a place. Draft-friendly; promotes a DRAFT to PUBLISHED once the place becomes complete. Send the place's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-place-descriptions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Descriptions section: the localized descriptions list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchPlaceDescriptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Place descriptions patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/configuration" : {
      "patch" : {
        "tags" : [ "Place" ],
        "summary" : "Patch place configuration",
        "description" : "Incrementally updates only the configuration section (name, reference point category code, active flag, featured indicator) of a place. Draft-friendly: an incomplete place persists as a DRAFT and is promoted to PUBLISHED once complete. Send the place's current version as If-Match for optimistic concurrency (409 on conflict). Requires INVENTORY:WRITE.",
        "operationId" : "patch-place-configuration",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Configuration section: name, reference point category code, active flag, featured indicator.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchPlaceConfigurationRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Place configuration patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/place/{placeIdentifier}/active" : {
      "patch" : {
        "tags" : [ "Place" ],
        "summary" : "Patch place active flag",
        "description" : "Incrementally updates only the active availability flag of a place. Draft-friendly. Send the place's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-place-active",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the place must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "placeIdentifier",
          "in" : "path",
          "description" : "Place identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The place's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Active flag section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchPlaceActiveRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Place active flag patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PlaceLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "refPointCategoryCode" : "16",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/transactional-item/{itemIdentifier}/media" : {
      "patch" : {
        "tags" : [ "Attraction" ],
        "summary" : "Patch transactional item media",
        "description" : "Replaces the full ordered media list of a specific transactional inventory item on an attraction. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-media_5",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Full ordered media list for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemMultimediaRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item media patched successfully; the updated attraction is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/transactional-item/{itemIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Attraction" ],
        "summary" : "Patch transactional item descriptions",
        "description" : "Replaces the localized descriptions of a specific transactional inventory item on an attraction. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-descriptions_5",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Localized descriptions for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemDescriptionsRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item descriptions patched successfully; the updated attraction is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/social" : {
      "patch" : {
        "tags" : [ "Attraction" ],
        "summary" : "Patch attraction social",
        "description" : "Incrementally updates only the social section (social network account links) of an attraction. Draft-friendly. Send the attraction's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-attraction-social",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Social section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAttractionSocialRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attraction social patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/schedule" : {
      "patch" : {
        "tags" : [ "Attraction" ],
        "summary" : "Patch attraction schedule",
        "description" : "Incrementally updates only the schedule section (applicable date range, opening hours, reservation-required flag, days-of-week pattern) of an attraction. Draft-friendly. Send the attraction's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-attraction-schedule",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Schedule section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAttractionScheduleRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attraction schedule patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/recognition" : {
      "patch" : {
        "tags" : [ "Attraction" ],
        "summary" : "Patch attraction recognition",
        "description" : "Incrementally updates only the recognition section (awards, certifications, ratings) of an attraction. Draft-friendly. Send the attraction's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-attraction-recognition",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Recognition section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAttractionRecognitionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attraction recognition patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/proximity" : {
      "patch" : {
        "tags" : [ "Attraction" ],
        "summary" : "Patch attraction proximity",
        "description" : "Incrementally updates only the proximity section (proximity code, geo-location, contact, address) of an attraction. Draft-friendly. Send the attraction's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-attraction-proximity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Proximity section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAttractionProximityRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attraction proximity patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/distribution" : {
      "patch" : {
        "tags" : [ "Attraction" ],
        "summary" : "Patch attraction distribution",
        "description" : "Incrementally updates only the distribution section (bookability, commission eligibility, price point, transactional inventory) of an attraction. Draft-friendly. Send the attraction's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-attraction-distribution",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Distribution section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAttractionDistributionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attraction distribution patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Attraction" ],
        "summary" : "Patch attraction descriptions",
        "description" : "Incrementally updates only the localized descriptions section of an attraction. Draft-friendly; promotes a DRAFT to PUBLISHED once the attraction becomes complete. Send the attraction's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-attraction-descriptions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Descriptions section: the localized descriptions list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAttractionDescriptionsRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attraction descriptions patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/configuration" : {
      "patch" : {
        "tags" : [ "Attraction" ],
        "summary" : "Patch attraction configuration",
        "description" : "Incrementally updates only the configuration section (name, attraction category code, courtesy phone, active flag, featured indicator) of an attraction. Draft-friendly: an incomplete attraction persists as a DRAFT and is promoted to PUBLISHED once complete. Send the attraction's current version as If-Match for optimistic concurrency (409 on conflict). Requires INVENTORY:WRITE.",
        "operationId" : "patch-attraction-configuration",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Configuration section: name, attraction category code, courtesy phone, active flag, featured indicator.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAttractionConfigurationRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attraction configuration patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/attraction/{attractionIdentifier}/active" : {
      "patch" : {
        "tags" : [ "Attraction" ],
        "summary" : "Patch attraction active flag",
        "description" : "Incrementally updates only the active availability flag of an attraction. Draft-friendly. Send the attraction's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-attraction-active",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier — the attraction must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "attractionIdentifier",
          "in" : "path",
          "description" : "Attraction identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "a8f3e4d1-7b2c-4a9e-b5c6-1d0e8f2a3c47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The attraction's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Active flag section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAttractionActiveRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Attraction active flag patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AttractionLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "attractionCategoryCode" : "101",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "courtesyPhone" : true,
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/transactional-item/{itemIdentifier}/media" : {
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch transactional item media",
        "description" : "Replaces the full ordered media list of a specific transactional inventory item on an activity. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-media_6",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Full ordered media list for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemMultimediaRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item media patched successfully; the updated activity is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/transactional-item/{itemIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch transactional item descriptions",
        "description" : "Replaces the localized descriptions of a specific transactional inventory item on an activity. Requires INVENTORY:WRITE.",
        "operationId" : "patch-transactional-item-descriptions_6",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier that owns the transactional item.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "itemIdentifier",
          "in" : "path",
          "description" : "Transactional item identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Localized descriptions for the transactional item.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchTransactionalItemDescriptionsRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Transactional item descriptions patched successfully; the updated activity is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/social" : {
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch activity social",
        "description" : "Incrementally updates only the social section (social network account links) of an activity. Draft-friendly. Send the activity's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-activity-social",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Social section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchActivitySocialRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Activity social patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/schedule" : {
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch activity schedule",
        "description" : "Incrementally updates only the schedule section (applicable date range, opening hours, reservation-required flag, days-of-week pattern) of an activity. Draft-friendly. Send the activity's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-activity-schedule",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Schedule section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchActivityScheduleRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Activity schedule patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/recognition" : {
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch activity recognition",
        "description" : "Incrementally updates only the recognition section (awards, certifications, ratings) of an activity. Draft-friendly. Send the activity's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-activity-recognition",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Recognition section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchActivityRecognitionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Activity recognition patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/proximity" : {
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch activity proximity",
        "description" : "Incrementally updates only the proximity section (proximity code, geo-location, contact, address) of an activity. Draft-friendly. Send the activity's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-activity-proximity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Proximity section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchActivityProximityRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Activity proximity patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/distribution" : {
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch activity distribution",
        "description" : "Incrementally updates only the distribution section (bookability, commission eligibility, price point, transactional inventory) of an activity. Draft-friendly. Send the activity's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-activity-distribution",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Distribution section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchActivityDistributionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Activity distribution patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch activity descriptions",
        "description" : "Incrementally updates only the localized descriptions section of an activity. Draft-friendly; promotes a DRAFT to PUBLISHED once the activity becomes complete. Send the activity's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-activity-descriptions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Descriptions section: the localized descriptions list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchActivityDescriptionsRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Activity descriptions patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/configuration" : {
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch activity configuration",
        "description" : "Incrementally updates only the configuration section (name, recreation category code, price point, active flag, featured indicator) of an activity. Draft-friendly: an incomplete activity persists as a DRAFT and is promoted to PUBLISHED once complete. Send the activity's current version as If-Match for optimistic concurrency (409 on conflict). Requires INVENTORY:WRITE.",
        "operationId" : "patch-activity-configuration",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Configuration section: name, recreation category code, price point, active flag, featured indicator.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchActivityConfigurationRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Activity configuration patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/amenities" : {
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch activity amenities",
        "description" : "Incrementally updates only the amenities section (OTA specification codes for equipment, instruction, facilities) of an activity. Draft-friendly. Send the activity's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-activity-amenities",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Amenities section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchActivityAmenitiesRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Activity amenities patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/experience/activity/{activityIdentifier}/active" : {
      "patch" : {
        "tags" : [ "Activity" ],
        "summary" : "Patch activity active flag",
        "description" : "Incrementally updates only the active availability flag of an activity. Draft-friendly. Send the activity's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-activity-active",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the activity must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "activityIdentifier",
          "in" : "path",
          "description" : "Activity identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The activity's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Active flag section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchActivityActiveRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Activity active flag patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ActivityLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "recreationCategoryCode" : "01",
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/channel-manager" : {
      "patch" : {
        "tags" : [ "Channel Manager" ],
        "summary" : "Set",
        "description" : "Assigns the channel manager that owns this property's rates; the chosen channel manager only gains rate access once selected here. Send the property's current version as If-Match for optimistic concurrency (409 on conflict).",
        "operationId" : "update-channel-manager",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Set channel manager for this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The property's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Channel manager assignment specifying which external channel manager system should own rate management for this property",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateChannelManagerRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated property record with the new channel manager assignment applied",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PropertyLightweight_Supplier"
                },
                "example" : {
                  "currencyCode" : "THB",
                  "hotelCode" : "TH00042",
                  "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences",
                  "numberOfRooms" : 40,
                  "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
                  "ownerType" : "INDIVIDUAL",
                  "stars" : 5,
                  "status" : "ACTIVE",
                  "type" : "COMPANY",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/{bookingIdentifier}/resend" : {
      "patch" : {
        "tags" : [ "Booking" ],
        "summary" : "Resend confirmation",
        "description" : "Re-sends the booking confirmation email to the traveler in the default language.",
        "operationId" : "resend-booking-confirmation-email",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Booking owner property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "bookingIdentifier",
          "in" : "path",
          "description" : "Booking identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Empty request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/EmptyRequestBody_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Confirmation email re-sent successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BooleanResponse_Supplier"
                },
                "example" : {
                  "message" : "User has permission to access this resource",
                  "success" : true
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/{bookingIdentifier}/request-refund" : {
      "patch" : {
        "tags" : [ "Booking" ],
        "summary" : "Request refund",
        "description" : "Submits a property-initiated request for a partial refund of funds attributed to the property; the request is queued for admin approval rather than refunded immediately.",
        "operationId" : "request-refund",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Cancel booking for property with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "bookingIdentifier",
          "in" : "path",
          "description" : "Cancel booking with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Partial refund amount and reason to be submitted for admin approval",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PropertyBookingRefundRequest_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Booking updated with the pending refund request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BookingLightweight_Supplier"
                },
                "example" : {
                  "acquiringFee" : {
                    "internalAmount" : 450.0,
                    "shareNotStated" : false,
                    "sourceAmount" : 450.0,
                    "state" : "CAPTURED"
                  },
                  "activities" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "addOns" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "ancillaryList" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "attractions" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "beneficiaryList" : [ {
                    "accountEmail" : "reservations@thesiamresidences.com",
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "The Siam Residences, Bangkok",
                    "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                    "amountDue" : {
                      "percent" : 0.05
                    },
                    "displayAmount" : 450.0,
                    "displayAmountRefundModifier" : 45.0,
                    "displayCurrency" : "USD",
                    "internalAmount" : 450.0,
                    "internalAmountRefundModifier" : 45.0,
                    "internalCurrency" : "USD",
                    "netDisplayAmount" : 450.0,
                    "netInternalAmount" : 450.0,
                    "netSourceAmount" : 450.0,
                    "pendingRefunds" : [ {
                      "displayAmountRefundModifier" : 45.0,
                      "internalAmountRefundModifier" : 45.0,
                      "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                      "sourceAmountRefundModifier" : 45.0
                    } ],
                    "reconciled" : false,
                    "sourceAmount" : 450.0,
                    "sourceAmountRefundModifier" : 45.0,
                    "sourceCurrency" : "THB"
                  } ],
                  "booker" : {
                    "email" : "reservations@thesiamresidences.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "telephone" : "+1 212 555 1212",
                    "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                  },
                  "cancellation" : {
                    "cancelReason" : "Guest changed travel plans",
                    "cancellationType" : "FREE_CANCELLATION",
                    "cancelledOn" : "2026-01-15T10:30:00Z",
                    "cancellerType" : "TRAVELER",
                    "cancellerUserIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                    "groupRefundNotified" : false
                  },
                  "commissionableSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "customization" : {
                    "appendToPageTitle" : "Hotels with Benefits",
                    "cardDesign" : "DEFAULT",
                    "cardLayout" : "VERTICAL",
                    "city" : {
                      "admin1Code" : "40",
                      "admin2Code" : "2401",
                      "admin3Code" : "",
                      "admin4Code" : "",
                      "alternateCountryCodes" : [ ],
                      "alternateNames" : [ "Krung Thep", "BKK" ],
                      "asciiName" : "Bangkok",
                      "country" : {
                        "area" : 514000.0,
                        "capital" : "Bangkok",
                        "continent" : "AS",
                        "currencyCode" : "THB",
                        "currencyName" : "Baht",
                        "fips" : "TH",
                        "geoNameId" : "1605651",
                        "iso" : "TH",
                        "iso3" : "THA",
                        "isoNumeric" : 764,
                        "languages" : [ "th" ],
                        "name" : "Thailand",
                        "neighbors" : [ "LA", "MM", "KH", "MY" ],
                        "phone" : "66",
                        "population" : 69428524,
                        "postalCodeFormat" : "#####",
                        "postalCodeRegEx" : "^(\\d{5})$",
                        "topLevelDomain" : ".th"
                      },
                      "countryCode" : "TH",
                      "digitalElevationModel" : "3",
                      "elevation" : 5,
                      "featureClass" : "P",
                      "featureCode" : "PPLC",
                      "geoNameId" : "1609350",
                      "location" : {
                        "coordinates" : [ 100.5581533, 13.7370197 ],
                        "type" : "POINT"
                      },
                      "modificationDate" : "2023-06-15",
                      "name" : "Bangkok",
                      "population" : 10539415,
                      "radiusInMeters" : 50000,
                      "subCountry" : {
                        "asciiName" : "Bangkok",
                        "code" : "TH.40",
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "name" : "Bangkok",
                        "subCountryCode" : "40"
                      },
                      "subSubCountry" : {
                        "asciiName" : "Bangkok District",
                        "code" : "TH.40.2401",
                        "countryCode" : "TH",
                        "geoNameId" : "1609352",
                        "name" : "Bangkok District",
                        "subCountryCode" : "40",
                        "subSubCountryCode" : "2401"
                      },
                      "timezone" : "Asia/Bangkok",
                      "type" : "CITY",
                      "urlName" : "bangkok-thailand"
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "defaultCurrency" : "THB",
                    "defaultLanguage" : "en",
                    "defaultLifestyle" : "LIFESTYLE_HEALTH_FITNESS",
                    "endDate" : "2026-07-22",
                    "googleAnalyticsMeasurementId" : "G-ABCDEF1234",
                    "googleMapsAPIKey" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6",
                    "googleTagManagerContainerId" : "GTM-XXXXX",
                    "hostedBookingEngineUrl" : "https://book.thesiamresidences.com/reservations",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "layout" : "INFORMATIONAL",
                    "logos" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "Luxury Travel Portal",
                    "numberOfAdvanceDays" : 7,
                    "numberOfStayDays" : 3,
                    "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "ownerName" : "Premium Hotels International",
                    "primary" : true,
                    "roomConfiguration" : {
                      "adults" : 2,
                      "children" : [ {
                        "age" : 7,
                        "quantity" : 2
                      } ],
                      "quantity" : 2
                    },
                    "selfHosted" : true,
                    "sendBookingNotificationEmailsToBooker" : true,
                    "sendBookingNotificationEmailsToChannelManager" : true,
                    "sendBookingNotificationEmailsToProperty" : true,
                    "showRankings" : true,
                    "showSearch" : true,
                    "showUnavailableCard" : false,
                    "startDate" : "2026-07-15",
                    "subType" : "APPLICATION",
                    "themeColors" : {
                      "body" : "#212529",
                      "danger" : "#dc3545",
                      "dark" : "#343a40",
                      "info" : "#17a2b8",
                      "light" : "#f8f9fa",
                      "muted" : "#6c757d",
                      "primary" : "#dc3545",
                      "secondary" : "#6c757d",
                      "success" : "#28a745",
                      "warning" : "#ffc107",
                      "white" : "#ffffff"
                    },
                    "trackingPixels" : [ {
                      "accessToken" : "EAABsbCS0kB4BAAI...",
                      "consentCategory" : "MARKETING",
                      "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
                      "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
                      "enabled" : true,
                      "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
                      "name" : "Facebook Conversion Pixel",
                      "pixelId" : "1234567890",
                      "provider" : "FACEBOOK",
                      "triggers" : [ {
                        "eventType" : "PURCHASE",
                        "parameters" : [ {
                          "key" : "currency",
                          "value" : "USD"
                        } ]
                      } ],
                      "type" : "JAVASCRIPT"
                    } ],
                    "useDays" : true,
                    "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                    "version" : 3,
                    "wcBookClickAction" : "IBE_MODAL"
                  },
                  "earlyCheckInCharge" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "feeModel" : "FIXED_PROCESSING_FEE",
                  "financialBreakdown" : {
                    "beneficiaryList" : [ {
                      "accountEmail" : "reservations@thesiamresidences.com",
                      "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                      "accountName" : "The Siam Residences, Bangkok",
                      "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                      "amountDue" : {
                        "percent" : 0.05
                      },
                      "displayAmount" : 450.0,
                      "displayAmountRefundModifier" : 45.0,
                      "displayCurrency" : "USD",
                      "internalAmount" : 450.0,
                      "internalAmountRefundModifier" : 45.0,
                      "internalCurrency" : "USD",
                      "netDisplayAmount" : 450.0,
                      "netInternalAmount" : 450.0,
                      "netSourceAmount" : 450.0,
                      "pendingRefunds" : [ {
                        "displayAmountRefundModifier" : 45.0,
                        "internalAmountRefundModifier" : 45.0,
                        "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                        "sourceAmountRefundModifier" : 45.0
                      } ],
                      "reconciled" : false,
                      "sourceAmount" : 450.0,
                      "sourceAmountRefundModifier" : 45.0,
                      "sourceCurrency" : "THB"
                    } ],
                    "displayPriceQuote" : {
                      "exchangeRate" : 33.5,
                      "source" : "USD",
                      "target" : "THB",
                      "timestamp" : 1705233000000
                    },
                    "internalPriceQuote" : {
                      "exchangeRate" : 33.5,
                      "source" : "USD",
                      "target" : "THB",
                      "timestamp" : 1705233000000
                    }
                  },
                  "fundsAddedToLedger" : false,
                  "fundsProcessed" : false,
                  "guestUser" : {
                    "email" : "reservations@thesiamresidences.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "profile" : {
                      "createdDate" : "2026-01-14T09:30:00",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "personal" : {
                        "address1" : "123 Petchburi Road",
                        "address2" : "Ratchathewi District",
                        "birthDate" : "1985-06-15",
                        "childQuantity" : 2,
                        "citizenship" : "Thailand",
                        "city" : "Bangkok",
                        "contactPerson" : [ {
                          "email" : "johnsmith@email.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phoneNumber" : "+12125551212",
                          "secondaryEmail" : "johnsmith2@email.com",
                          "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                        } ],
                        "country" : "TH",
                        "gender" : "FEMALE",
                        "language" : "en",
                        "maritalStatus" : "MARRIED",
                        "petInfo" : [ {
                          "name" : "Luna",
                          "type" : "Golden Retriever"
                        } ],
                        "postalCode" : "10400",
                        "preferredCurrency" : "USD",
                        "state" : "Bangkok"
                      },
                      "preferences" : {
                        "bedTypePref" : "King bed",
                        "cuisinePref" : "Thai",
                        "foodSrvcPref" : "In-room dining",
                        "guestType" : "Business traveler",
                        "hotelChainPref" : "Mandarin Oriental",
                        "mealPref" : "Continental breakfast",
                        "physChalFeaturePref" : "Wheelchair accessible rooms",
                        "propertyLocationPref" : "Beachfront",
                        "propertyTypePref" : "Luxury Resort",
                        "roomLocationPref" : "High floor with city view",
                        "smokingAllowed" : false
                      },
                      "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "share" : true,
                      "user" : {
                        "email" : "alexandra@beaumont.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phone" : "+66212658866",
                        "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                      },
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                      "version" : 3
                    },
                    "telephone" : "+1 212 555 1212",
                    "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                  },
                  "hotel" : {
                    "activities" : 3,
                    "addOns" : 5,
                    "address" : {
                      "city" : "Bangkok",
                      "countryCode" : "TH",
                      "line1" : "3/2 Khao Road",
                      "postalCode" : "10300",
                      "state" : "Bangkok"
                    },
                    "aggregateGreendexRating" : 7.0,
                    "aggregateReviewRating" : 8.7,
                    "architecturalStyle" : "7",
                    "attractions" : 5,
                    "available" : true,
                    "bookings" : 6054,
                    "brand" : "The Siam Residences",
                    "chain" : "The Siam Collection",
                    "currencyCode" : "THB",
                    "descriptions" : [ {
                      "description" : "An elegant riverside sanctuary in the heart of Bangkok.",
                      "language" : "en",
                      "title" : "Luxury Riverside Retreat"
                    } ],
                    "hotelAmenityCodes" : [ "1", "7" ],
                    "hotelCategory" : "45",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "images" : [ {
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "type" : "IMAGE"
                    } ],
                    "lifestyleTypes" : [ "LIFESTYLE_HEALTH_FITNESS" ],
                    "localName" : "เดอะสยาม เรสซิเดนซ์",
                    "location" : {
                      "coordinates" : [ 100.5581533, 13.7370197 ],
                      "type" : "Point"
                    },
                    "locationCategory" : "34",
                    "meetingRooms" : 2,
                    "name" : "The Siam Residences, Bangkok",
                    "numberOfRooms" : 32,
                    "places" : 9,
                    "propertyAccessibilityCodes" : [ "1" ],
                    "propertySecurityCodes" : [ "7" ],
                    "reservations" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Somchai",
                      "lastName" : "Phattanapong",
                      "phone" : "+66-2-123-4567"
                    },
                    "restaurants" : 2,
                    "score" : 70,
                    "segmentCategory" : "7",
                    "socials" : [ {
                      "handle" : "thesiamresidences",
                      "platform" : "INSTAGRAM"
                    } ],
                    "spas" : 1,
                    "starRating" : 5,
                    "thirdPartyReviews" : [ ],
                    "totalReviews" : 989,
                    "uniqueId" : "siam-residences-bkk",
                    "urlName" : "the-siam-residences-bangkok-thailand",
                    "videos" : [ ],
                    "whenBuilt" : "1927"
                  },
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lateCheckOutCharge" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "meetingRooms" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "netTotalFeesAndCommissionsSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "netTotalSalesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "netTotalSalesSourceAmountOrZero" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "paymentDetails" : {
                    "acquiringFeeCapture" : {
                      "apportionedAcross" : 3,
                      "balanceTransactionIdentifier" : "txn_abc123",
                      "capturedDate" : "2026-09-11T03:07:58.742",
                      "chargeFee" : 450.0,
                      "chargeIdentifier" : "ch_abc123",
                      "source" : "WEBHOOK"
                    },
                    "acquiringFeeState" : "CAPTURED",
                    "agentInvoiceIdentifier" : "invoice-1",
                    "agentInvoicedDate" : "2017-12-22T03:07:58.742+0000",
                    "chargeIdentifier" : "ch_abc123",
                    "customerIdentifier" : "cus_abc123",
                    "fees" : [ {
                      "description" : "Fee charged for booking confirmation",
                      "fee" : 450.0,
                      "identifier" : "ABC1234",
                      "type" : "BOOKING"
                    } ],
                    "selfAcquires" : false,
                    "selfDisburses" : false,
                    "sessionIdentifier" : "s_abc123",
                    "transactionIdentifier" : "pi_3abc123",
                    "vendor" : "STRIPE"
                  },
                  "payoutList" : [ {
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "Hotel Sunrise",
                    "beneficiaryType" : "SALE",
                    "displayAmount" : 12.75,
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "internalAmount" : 12.75,
                    "processedDate" : "2026-01-15T10:30:00Z",
                    "sourceAmount" : 450.0,
                    "status" : "COMPLETED",
                    "withdrawalId" : "tr_abc123"
                  } ],
                  "places" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "refund" : {
                    "cancelOnRefund" : "NONE",
                    "createdDate" : "2026-01-15T10:30:00Z",
                    "description" : "Guest requested cancellation",
                    "displayAmount" : 12.75,
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "internalAmount" : 12.75,
                    "processedDate" : "2026-01-15T10:30:00Z",
                    "reason" : "REQUESTED_BY_CUSTOMER",
                    "receiptUrl" : "https://pay.stripe.com/receipts/abc123",
                    "requestor" : "BY_ADMIN",
                    "response" : "Approved — refunding 50% per policy.",
                    "sourceAmount" : 450.0,
                    "status" : "SUCCEEDED",
                    "stripeRefundFee" : 0.5,
                    "stripeRefundId" : "re_abc123"
                  },
                  "refundFee" : {
                    "internalAmount" : 450.0,
                    "shareNotStated" : false,
                    "sourceAmount" : 450.0,
                    "state" : "CAPTURED"
                  },
                  "reportingAncillaryList" : [ {
                    "currency" : "USD",
                    "grossAmount" : 450.0,
                    "name" : "Thai Massage",
                    "netAmount" : 405.0,
                    "netAmountWithRefund" : 405.0
                  } ],
                  "reportingDailyRateList" : [ {
                    "baseAmount" : 450.0,
                    "currency" : "USD",
                    "date" : "2026-01-15",
                    "grossAmount" : 405.0,
                    "netAmount" : 360.0,
                    "netAmountWithRefund" : 360.0
                  } ],
                  "reportingExtraChargeList" : [ {
                    "currency" : "USD",
                    "description" : "The charge is 50.00 USD and is charged per day.",
                    "grossAmount" : 450.0,
                    "name" : "Late checkout fee",
                    "netAmount" : 405.0,
                    "netAmountWithRefund" : 405.0
                  } ],
                  "restaurants" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "review" : {
                    "answers" : [ {
                      "category" : "SERVICE",
                      "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
                      "sort" : 1,
                      "value" : 7
                    } ],
                    "approvedImage" : false,
                    "approvedText" : true,
                    "averageScore" : 8.7,
                    "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                    "createdDate" : "2026-01-14T09:30:00",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
                    "responded" : false,
                    "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
                    "reviewDate" : "2026-01-14T09:30:00",
                    "roomNumber" : "501",
                    "roomRating" : 9,
                    "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
                    "user" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "telephone" : "+66 2 126 8866",
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                    },
                    "version" : 3
                  },
                  "roomStay" : {
                    "activeCancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "adults" : 2,
                    "ancillaryList" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "bedroomConfiguration" : {
                      "bedroomList" : [ {
                        "bedList" : [ {
                          "bedTypeCode" : "1",
                          "quantity" : 2
                        } ],
                        "type" : "MASTER"
                      } ],
                      "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "name" : "Master Suite Layout"
                    },
                    "children" : 0,
                    "endDate" : "2025-12-27",
                    "extraCharges" : {
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "items" : [ {
                        "price" : {
                          "internalBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "internalChannelModifier" : -10,
                          "internalPremiumModifier" : 40,
                          "internalPromotionalModifier" : -40,
                          "internalTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "quantity" : 1,
                          "sourceBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "sourceChannelModifier" : -10,
                          "sourcePremiumModifier" : 40,
                          "sourcePromotionalModifier" : -40,
                          "sourceToInternalCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceToUserCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyChannelModifier" : -10,
                          "userSpecifiedCurrencyPremiumModifier" : 40,
                          "userSpecifiedCurrencyPromotionalModifier" : -40,
                          "userSpecifiedCurrencyTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          }
                        },
                        "ratePlanLevelFee" : {
                          "descriptions" : [ {
                            "creator" : "USER",
                            "description" : "This is a longer description in the specified language.",
                            "language" : "en",
                            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                          } ],
                          "fixedAmount" : 450.0,
                          "type" : "PER_DAY"
                        },
                        "unitPrice" : {
                          "internalBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "internalChannelModifier" : -10,
                          "internalPremiumModifier" : 40,
                          "internalPromotionalModifier" : -40,
                          "internalTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "quantity" : 1,
                          "sourceBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "sourceChannelModifier" : -10,
                          "sourcePremiumModifier" : 40,
                          "sourcePromotionalModifier" : -40,
                          "sourceToInternalCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceToUserCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyChannelModifier" : -10,
                          "userSpecifiedCurrencyPremiumModifier" : 40,
                          "userSpecifiedCurrencyPromotionalModifier" : -40,
                          "userSpecifiedCurrencyTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          }
                        }
                      } ],
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "guestUser" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "profile" : {
                        "createdDate" : "2026-01-14T09:30:00",
                        "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "lastUpdate" : "2026-02-03T16:45:12",
                        "personal" : {
                          "address1" : "123 Petchburi Road",
                          "address2" : "Ratchathewi District",
                          "birthDate" : "1985-06-15",
                          "childQuantity" : 2,
                          "citizenship" : "Thailand",
                          "city" : "Bangkok",
                          "contactPerson" : [ {
                            "email" : "johnsmith@email.com",
                            "firstName" : "Alexandra",
                            "fullName" : "Alexandra Beaumont",
                            "lastName" : "Beaumont",
                            "phoneNumber" : "+12125551212",
                            "secondaryEmail" : "johnsmith2@email.com",
                            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                          } ],
                          "country" : "TH",
                          "gender" : "FEMALE",
                          "language" : "en",
                          "maritalStatus" : "MARRIED",
                          "petInfo" : [ {
                            "name" : "Luna",
                            "type" : "Golden Retriever"
                          } ],
                          "postalCode" : "10400",
                          "preferredCurrency" : "USD",
                          "state" : "Bangkok"
                        },
                        "preferences" : {
                          "bedTypePref" : "King bed",
                          "cuisinePref" : "Thai",
                          "foodSrvcPref" : "In-room dining",
                          "guestType" : "Business traveler",
                          "hotelChainPref" : "Mandarin Oriental",
                          "mealPref" : "Continental breakfast",
                          "physChalFeaturePref" : "Wheelchair accessible rooms",
                          "propertyLocationPref" : "Beachfront",
                          "propertyTypePref" : "Luxury Resort",
                          "roomLocationPref" : "High floor with city view",
                          "smokingAllowed" : false
                        },
                        "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "share" : true,
                        "user" : {
                          "email" : "alexandra@beaumont.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phone" : "+66212658866",
                          "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                        },
                        "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                        "version" : 3
                      },
                      "telephone" : "+1 212 555 1212",
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                    },
                    "internalTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "perkTypes" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
                    "price" : {
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "offerDetails" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "quantity" : 2,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "quantity" : 1,
                    "ratePlan" : {
                      "allInclusive" : false,
                      "allInclusivePlusAlcohol" : false,
                      "breakfast" : false,
                      "brunch" : false,
                      "dinner" : false,
                      "earlyCheckInCharge" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "lateCheckOutCharge" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "lunch" : false,
                      "name" : "BAR 1"
                    },
                    "room" : {
                      "active" : true,
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "baseRate" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "bathroomCount" : 0,
                      "bedroomConfigurationList" : [ {
                        "bedroomList" : [ {
                          "bedList" : [ {
                            "bedTypeCode" : "1",
                            "quantity" : 2
                          } ],
                          "type" : "MASTER"
                        } ],
                        "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "name" : "Master Suite Layout"
                      } ],
                      "bookable" : true,
                      "commissionable" : true,
                      "composite" : false,
                      "compositeCount" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "createdDate" : "2026-01-14T09:30:00",
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                        "language" : "en",
                        "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                        "name" : "Deluxe River View Suite"
                      } ],
                      "featuredInd" : false,
                      "floor" : "3",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "includedAdultOccupancy" : 2,
                      "includedChildOccupancy" : 0,
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                      "livingRoomCount" : 0,
                      "location" : {
                        "coordinates" : [ 100.5581533, 13.7370197 ],
                        "type" : "POINT"
                      },
                      "maxAdultOccupancy" : 1,
                      "maxChildOccupancy" : 0,
                      "maxCribs" : 1,
                      "maxOccupancy" : 2,
                      "maxRollaways" : 0,
                      "minAgeAppropriateCode" : "1",
                      "minOccupancy" : 1,
                      "minRate" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "multimedias" : [ {
                        "angle" : null,
                        "attribution" : [ ],
                        "category" : "2",
                        "descriptions" : [ {
                          "description" : "Elegant lobby of The Siam Residences",
                          "language" : "en",
                          "title" : "Lobby Entrance"
                        } ],
                        "height" : 1600,
                        "identifier" : "the-siam-residences/lobby-entrance",
                        "isLandscape" : true,
                        "lifestyleType" : null,
                        "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "published" : true,
                        "sort" : 10,
                        "source" : "CLOUDINARY",
                        "type" : "IMAGE",
                        "width" : 2560
                      } ],
                      "name" : "Archery lesson",
                      "nonSmoking" : true,
                      "pricePoint" : "THREE",
                      "proximityCode" : "1",
                      "publishStatus" : "PUBLISHED",
                      "quantity" : 40,
                      "recognitionList" : [ {
                        "category" : "AWARD",
                        "date" : "2026-01-14",
                        "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "maxRating" : 10.0,
                        "officialAppointmentInd" : true,
                        "provider" : "Michelin",
                        "rating" : 8.5,
                        "ratingSymbol" : "*",
                        "type" : "PERCENT_RATING"
                      } ],
                      "roomArchitectureCode" : "1",
                      "roomCategory" : "1",
                      "roomClassificationCode" : "1",
                      "roomGender" : "Female",
                      "roomLocationCode" : "1",
                      "roomViewCode" : "1",
                      "sharedRoomInd" : false,
                      "size" : 55,
                      "socials" : [ {
                        "location" : "https://www.instagram.com/thesiamresidences",
                        "type" : "INSTAGRAM"
                      } ],
                      "sort" : 1,
                      "transactionalInventoryList" : [ {
                        "basePrice" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "descriptions" : [ {
                          "creator" : "USER",
                          "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                          "language" : "en",
                          "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                          "name" : "Deluxe River View Suite"
                        } ],
                        "discountedPrice" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "maxPax" : 10,
                        "minPax" : 2,
                        "multimedias" : [ {
                          "angle" : null,
                          "attribution" : [ ],
                          "category" : "2",
                          "descriptions" : [ {
                            "description" : "Elegant lobby of The Siam Residences",
                            "language" : "en",
                            "title" : "Lobby Entrance"
                          } ],
                          "height" : 1600,
                          "identifier" : "the-siam-residences/lobby-entrance",
                          "isLandscape" : true,
                          "lifestyleType" : null,
                          "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                          "published" : true,
                          "sort" : 10,
                          "source" : "CLOUDINARY",
                          "type" : "IMAGE",
                          "width" : 2560
                        } ],
                        "name" : "1 hour session",
                        "percentDiscount" : 0.1,
                        "percentPremium" : 0.1,
                        "pricingType" : "PER_NIGHT"
                      } ],
                      "version" : 3
                    },
                    "roomImageUrl" : "https://path.to/room-image.jpg",
                    "roomRateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                    "roomRateInternalName" : "Master Rate 1",
                    "sourceTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "startDate" : "2025-12-24",
                    "userSpecifiedCurrencyTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    }
                  },
                  "roomTypeAncillaries" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "spas" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "statusHistory" : [ {
                    "actor" : "stripe-webhook",
                    "fromStatus" : "PENDING",
                    "reason" : "Payment confirmed by Stripe",
                    "timestamp" : "2026-01-15T10:30:00Z",
                    "toStatus" : "CONFIRMED"
                  } ],
                  "totalAffiliateAgencyFeesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalPaymentProcessingFeeSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalPlatformFeeSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalSalesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalSupplierAgencyFeesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSession" : {
                    "currency" : "USD",
                    "itinerary" : {
                      "endDate" : "2024-01-02",
                      "items" : [ {
                        "adults" : 2,
                        "children" : [ {
                          "age" : 8,
                          "quantity" : 2
                        } ]
                      } ],
                      "nights" : 7,
                      "startDate" : "2024-01-01"
                    },
                    "language" : "en",
                    "lifestyle" : "LUXURY",
                    "promotionalCodes" : [ "promo-1" ],
                    "selectedRoomConfigurationIndex" : 0
                  },
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/booking/{bookingIdentifier}/cancel" : {
      "patch" : {
        "tags" : [ "Booking" ],
        "summary" : "Cancel",
        "description" : "Cancels the booking on behalf of the property, recording the supplied cancellation detail and the acting user.",
        "operationId" : "cancel-hotel-booking",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Cancel booking for property with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "bookingIdentifier",
          "in" : "path",
          "description" : "Cancel booking with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Cancellation reason and any supporting notes",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CancellationDetail_Supplier"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Booking cancelled by the property",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BookingLightweight_Supplier"
                },
                "example" : {
                  "acquiringFee" : {
                    "internalAmount" : 450.0,
                    "shareNotStated" : false,
                    "sourceAmount" : 450.0,
                    "state" : "CAPTURED"
                  },
                  "activities" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "addOns" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "ancillaryList" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "attractions" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "beneficiaryList" : [ {
                    "accountEmail" : "reservations@thesiamresidences.com",
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "The Siam Residences, Bangkok",
                    "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                    "amountDue" : {
                      "percent" : 0.05
                    },
                    "displayAmount" : 450.0,
                    "displayAmountRefundModifier" : 45.0,
                    "displayCurrency" : "USD",
                    "internalAmount" : 450.0,
                    "internalAmountRefundModifier" : 45.0,
                    "internalCurrency" : "USD",
                    "netDisplayAmount" : 450.0,
                    "netInternalAmount" : 450.0,
                    "netSourceAmount" : 450.0,
                    "pendingRefunds" : [ {
                      "displayAmountRefundModifier" : 45.0,
                      "internalAmountRefundModifier" : 45.0,
                      "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                      "sourceAmountRefundModifier" : 45.0
                    } ],
                    "reconciled" : false,
                    "sourceAmount" : 450.0,
                    "sourceAmountRefundModifier" : 45.0,
                    "sourceCurrency" : "THB"
                  } ],
                  "booker" : {
                    "email" : "reservations@thesiamresidences.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "telephone" : "+1 212 555 1212",
                    "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                  },
                  "cancellation" : {
                    "cancelReason" : "Guest changed travel plans",
                    "cancellationType" : "FREE_CANCELLATION",
                    "cancelledOn" : "2026-01-15T10:30:00Z",
                    "cancellerType" : "TRAVELER",
                    "cancellerUserIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                    "groupRefundNotified" : false
                  },
                  "commissionableSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "customization" : {
                    "appendToPageTitle" : "Hotels with Benefits",
                    "cardDesign" : "DEFAULT",
                    "cardLayout" : "VERTICAL",
                    "city" : {
                      "admin1Code" : "40",
                      "admin2Code" : "2401",
                      "admin3Code" : "",
                      "admin4Code" : "",
                      "alternateCountryCodes" : [ ],
                      "alternateNames" : [ "Krung Thep", "BKK" ],
                      "asciiName" : "Bangkok",
                      "country" : {
                        "area" : 514000.0,
                        "capital" : "Bangkok",
                        "continent" : "AS",
                        "currencyCode" : "THB",
                        "currencyName" : "Baht",
                        "fips" : "TH",
                        "geoNameId" : "1605651",
                        "iso" : "TH",
                        "iso3" : "THA",
                        "isoNumeric" : 764,
                        "languages" : [ "th" ],
                        "name" : "Thailand",
                        "neighbors" : [ "LA", "MM", "KH", "MY" ],
                        "phone" : "66",
                        "population" : 69428524,
                        "postalCodeFormat" : "#####",
                        "postalCodeRegEx" : "^(\\d{5})$",
                        "topLevelDomain" : ".th"
                      },
                      "countryCode" : "TH",
                      "digitalElevationModel" : "3",
                      "elevation" : 5,
                      "featureClass" : "P",
                      "featureCode" : "PPLC",
                      "geoNameId" : "1609350",
                      "location" : {
                        "coordinates" : [ 100.5581533, 13.7370197 ],
                        "type" : "POINT"
                      },
                      "modificationDate" : "2023-06-15",
                      "name" : "Bangkok",
                      "population" : 10539415,
                      "radiusInMeters" : 50000,
                      "subCountry" : {
                        "asciiName" : "Bangkok",
                        "code" : "TH.40",
                        "countryCode" : "TH",
                        "geoNameId" : "1609350",
                        "name" : "Bangkok",
                        "subCountryCode" : "40"
                      },
                      "subSubCountry" : {
                        "asciiName" : "Bangkok District",
                        "code" : "TH.40.2401",
                        "countryCode" : "TH",
                        "geoNameId" : "1609352",
                        "name" : "Bangkok District",
                        "subCountryCode" : "40",
                        "subSubCountryCode" : "2401"
                      },
                      "timezone" : "Asia/Bangkok",
                      "type" : "CITY",
                      "urlName" : "bangkok-thailand"
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "defaultCurrency" : "THB",
                    "defaultLanguage" : "en",
                    "defaultLifestyle" : "LIFESTYLE_HEALTH_FITNESS",
                    "endDate" : "2026-07-22",
                    "googleAnalyticsMeasurementId" : "G-ABCDEF1234",
                    "googleMapsAPIKey" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6",
                    "googleTagManagerContainerId" : "GTM-XXXXX",
                    "hostedBookingEngineUrl" : "https://book.thesiamresidences.com/reservations",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "layout" : "INFORMATIONAL",
                    "logos" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "Luxury Travel Portal",
                    "numberOfAdvanceDays" : 7,
                    "numberOfStayDays" : 3,
                    "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "ownerName" : "Premium Hotels International",
                    "primary" : true,
                    "roomConfiguration" : {
                      "adults" : 2,
                      "children" : [ {
                        "age" : 7,
                        "quantity" : 2
                      } ],
                      "quantity" : 2
                    },
                    "selfHosted" : true,
                    "sendBookingNotificationEmailsToBooker" : true,
                    "sendBookingNotificationEmailsToChannelManager" : true,
                    "sendBookingNotificationEmailsToProperty" : true,
                    "showRankings" : true,
                    "showSearch" : true,
                    "showUnavailableCard" : false,
                    "startDate" : "2026-07-15",
                    "subType" : "APPLICATION",
                    "themeColors" : {
                      "body" : "#212529",
                      "danger" : "#dc3545",
                      "dark" : "#343a40",
                      "info" : "#17a2b8",
                      "light" : "#f8f9fa",
                      "muted" : "#6c757d",
                      "primary" : "#dc3545",
                      "secondary" : "#6c757d",
                      "success" : "#28a745",
                      "warning" : "#ffc107",
                      "white" : "#ffffff"
                    },
                    "trackingPixels" : [ {
                      "accessToken" : "EAABsbCS0kB4BAAI...",
                      "consentCategory" : "MARKETING",
                      "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
                      "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
                      "enabled" : true,
                      "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
                      "name" : "Facebook Conversion Pixel",
                      "pixelId" : "1234567890",
                      "provider" : "FACEBOOK",
                      "triggers" : [ {
                        "eventType" : "PURCHASE",
                        "parameters" : [ {
                          "key" : "currency",
                          "value" : "USD"
                        } ]
                      } ],
                      "type" : "JAVASCRIPT"
                    } ],
                    "useDays" : true,
                    "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                    "version" : 3,
                    "wcBookClickAction" : "IBE_MODAL"
                  },
                  "earlyCheckInCharge" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "feeModel" : "FIXED_PROCESSING_FEE",
                  "financialBreakdown" : {
                    "beneficiaryList" : [ {
                      "accountEmail" : "reservations@thesiamresidences.com",
                      "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                      "accountName" : "The Siam Residences, Bangkok",
                      "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                      "amountDue" : {
                        "percent" : 0.05
                      },
                      "displayAmount" : 450.0,
                      "displayAmountRefundModifier" : 45.0,
                      "displayCurrency" : "USD",
                      "internalAmount" : 450.0,
                      "internalAmountRefundModifier" : 45.0,
                      "internalCurrency" : "USD",
                      "netDisplayAmount" : 450.0,
                      "netInternalAmount" : 450.0,
                      "netSourceAmount" : 450.0,
                      "pendingRefunds" : [ {
                        "displayAmountRefundModifier" : 45.0,
                        "internalAmountRefundModifier" : 45.0,
                        "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                        "sourceAmountRefundModifier" : 45.0
                      } ],
                      "reconciled" : false,
                      "sourceAmount" : 450.0,
                      "sourceAmountRefundModifier" : 45.0,
                      "sourceCurrency" : "THB"
                    } ],
                    "displayPriceQuote" : {
                      "exchangeRate" : 33.5,
                      "source" : "USD",
                      "target" : "THB",
                      "timestamp" : 1705233000000
                    },
                    "internalPriceQuote" : {
                      "exchangeRate" : 33.5,
                      "source" : "USD",
                      "target" : "THB",
                      "timestamp" : 1705233000000
                    }
                  },
                  "fundsAddedToLedger" : false,
                  "fundsProcessed" : false,
                  "guestUser" : {
                    "email" : "reservations@thesiamresidences.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "profile" : {
                      "createdDate" : "2026-01-14T09:30:00",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "personal" : {
                        "address1" : "123 Petchburi Road",
                        "address2" : "Ratchathewi District",
                        "birthDate" : "1985-06-15",
                        "childQuantity" : 2,
                        "citizenship" : "Thailand",
                        "city" : "Bangkok",
                        "contactPerson" : [ {
                          "email" : "johnsmith@email.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phoneNumber" : "+12125551212",
                          "secondaryEmail" : "johnsmith2@email.com",
                          "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                        } ],
                        "country" : "TH",
                        "gender" : "FEMALE",
                        "language" : "en",
                        "maritalStatus" : "MARRIED",
                        "petInfo" : [ {
                          "name" : "Luna",
                          "type" : "Golden Retriever"
                        } ],
                        "postalCode" : "10400",
                        "preferredCurrency" : "USD",
                        "state" : "Bangkok"
                      },
                      "preferences" : {
                        "bedTypePref" : "King bed",
                        "cuisinePref" : "Thai",
                        "foodSrvcPref" : "In-room dining",
                        "guestType" : "Business traveler",
                        "hotelChainPref" : "Mandarin Oriental",
                        "mealPref" : "Continental breakfast",
                        "physChalFeaturePref" : "Wheelchair accessible rooms",
                        "propertyLocationPref" : "Beachfront",
                        "propertyTypePref" : "Luxury Resort",
                        "roomLocationPref" : "High floor with city view",
                        "smokingAllowed" : false
                      },
                      "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "share" : true,
                      "user" : {
                        "email" : "alexandra@beaumont.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phone" : "+66212658866",
                        "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                      },
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                      "version" : 3
                    },
                    "telephone" : "+1 212 555 1212",
                    "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                  },
                  "hotel" : {
                    "activities" : 3,
                    "addOns" : 5,
                    "address" : {
                      "city" : "Bangkok",
                      "countryCode" : "TH",
                      "line1" : "3/2 Khao Road",
                      "postalCode" : "10300",
                      "state" : "Bangkok"
                    },
                    "aggregateGreendexRating" : 7.0,
                    "aggregateReviewRating" : 8.7,
                    "architecturalStyle" : "7",
                    "attractions" : 5,
                    "available" : true,
                    "bookings" : 6054,
                    "brand" : "The Siam Residences",
                    "chain" : "The Siam Collection",
                    "currencyCode" : "THB",
                    "descriptions" : [ {
                      "description" : "An elegant riverside sanctuary in the heart of Bangkok.",
                      "language" : "en",
                      "title" : "Luxury Riverside Retreat"
                    } ],
                    "hotelAmenityCodes" : [ "1", "7" ],
                    "hotelCategory" : "45",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "images" : [ {
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "type" : "IMAGE"
                    } ],
                    "lifestyleTypes" : [ "LIFESTYLE_HEALTH_FITNESS" ],
                    "localName" : "เดอะสยาม เรสซิเดนซ์",
                    "location" : {
                      "coordinates" : [ 100.5581533, 13.7370197 ],
                      "type" : "Point"
                    },
                    "locationCategory" : "34",
                    "meetingRooms" : 2,
                    "name" : "The Siam Residences, Bangkok",
                    "numberOfRooms" : 32,
                    "places" : 9,
                    "propertyAccessibilityCodes" : [ "1" ],
                    "propertySecurityCodes" : [ "7" ],
                    "reservations" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Somchai",
                      "lastName" : "Phattanapong",
                      "phone" : "+66-2-123-4567"
                    },
                    "restaurants" : 2,
                    "score" : 70,
                    "segmentCategory" : "7",
                    "socials" : [ {
                      "handle" : "thesiamresidences",
                      "platform" : "INSTAGRAM"
                    } ],
                    "spas" : 1,
                    "starRating" : 5,
                    "thirdPartyReviews" : [ ],
                    "totalReviews" : 989,
                    "uniqueId" : "siam-residences-bkk",
                    "urlName" : "the-siam-residences-bangkok-thailand",
                    "videos" : [ ],
                    "whenBuilt" : "1927"
                  },
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lateCheckOutCharge" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "meetingRooms" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "netTotalFeesAndCommissionsSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "netTotalSalesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "netTotalSalesSourceAmountOrZero" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "paymentDetails" : {
                    "acquiringFeeCapture" : {
                      "apportionedAcross" : 3,
                      "balanceTransactionIdentifier" : "txn_abc123",
                      "capturedDate" : "2026-09-11T03:07:58.742",
                      "chargeFee" : 450.0,
                      "chargeIdentifier" : "ch_abc123",
                      "source" : "WEBHOOK"
                    },
                    "acquiringFeeState" : "CAPTURED",
                    "agentInvoiceIdentifier" : "invoice-1",
                    "agentInvoicedDate" : "2017-12-22T03:07:58.742+0000",
                    "chargeIdentifier" : "ch_abc123",
                    "customerIdentifier" : "cus_abc123",
                    "fees" : [ {
                      "description" : "Fee charged for booking confirmation",
                      "fee" : 450.0,
                      "identifier" : "ABC1234",
                      "type" : "BOOKING"
                    } ],
                    "selfAcquires" : false,
                    "selfDisburses" : false,
                    "sessionIdentifier" : "s_abc123",
                    "transactionIdentifier" : "pi_3abc123",
                    "vendor" : "STRIPE"
                  },
                  "payoutList" : [ {
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "Hotel Sunrise",
                    "beneficiaryType" : "SALE",
                    "displayAmount" : 12.75,
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "internalAmount" : 12.75,
                    "processedDate" : "2026-01-15T10:30:00Z",
                    "sourceAmount" : 450.0,
                    "status" : "COMPLETED",
                    "withdrawalId" : "tr_abc123"
                  } ],
                  "places" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "refund" : {
                    "cancelOnRefund" : "NONE",
                    "createdDate" : "2026-01-15T10:30:00Z",
                    "description" : "Guest requested cancellation",
                    "displayAmount" : 12.75,
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "internalAmount" : 12.75,
                    "processedDate" : "2026-01-15T10:30:00Z",
                    "reason" : "REQUESTED_BY_CUSTOMER",
                    "receiptUrl" : "https://pay.stripe.com/receipts/abc123",
                    "requestor" : "BY_ADMIN",
                    "response" : "Approved — refunding 50% per policy.",
                    "sourceAmount" : 450.0,
                    "status" : "SUCCEEDED",
                    "stripeRefundFee" : 0.5,
                    "stripeRefundId" : "re_abc123"
                  },
                  "refundFee" : {
                    "internalAmount" : 450.0,
                    "shareNotStated" : false,
                    "sourceAmount" : 450.0,
                    "state" : "CAPTURED"
                  },
                  "reportingAncillaryList" : [ {
                    "currency" : "USD",
                    "grossAmount" : 450.0,
                    "name" : "Thai Massage",
                    "netAmount" : 405.0,
                    "netAmountWithRefund" : 405.0
                  } ],
                  "reportingDailyRateList" : [ {
                    "baseAmount" : 450.0,
                    "currency" : "USD",
                    "date" : "2026-01-15",
                    "grossAmount" : 405.0,
                    "netAmount" : 360.0,
                    "netAmountWithRefund" : 360.0
                  } ],
                  "reportingExtraChargeList" : [ {
                    "currency" : "USD",
                    "description" : "The charge is 50.00 USD and is charged per day.",
                    "grossAmount" : 450.0,
                    "name" : "Late checkout fee",
                    "netAmount" : 405.0,
                    "netAmountWithRefund" : 405.0
                  } ],
                  "restaurants" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "review" : {
                    "answers" : [ {
                      "category" : "SERVICE",
                      "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
                      "sort" : 1,
                      "value" : 7
                    } ],
                    "approvedImage" : false,
                    "approvedText" : true,
                    "averageScore" : 8.7,
                    "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
                    "createdDate" : "2026-01-14T09:30:00",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
                    "responded" : false,
                    "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
                    "reviewDate" : "2026-01-14T09:30:00",
                    "roomNumber" : "501",
                    "roomRating" : 9,
                    "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
                    "user" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "telephone" : "+66 2 126 8866",
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                    },
                    "version" : 3
                  },
                  "roomStay" : {
                    "activeCancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "adults" : 2,
                    "ancillaryList" : [ {
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "attendees" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "endDate" : "2017-12-22T08:07:58.742+0000",
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "imageIdentifier" : "cloudinary-image-1",
                      "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                      "localizedDescription" : "place-1",
                      "localizedName" : "Plass 1",
                      "name" : "Thai Massage Spa Treatment",
                      "price" : {
                        "internalBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "internalChannelModifier" : -10,
                        "internalPremiumModifier" : 40,
                        "internalPromotionalModifier" : -40,
                        "internalTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "quantity" : 1,
                        "sourceBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "sourceChannelModifier" : -10,
                        "sourcePremiumModifier" : 40,
                        "sourcePromotionalModifier" : -40,
                        "sourceToInternalCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceToUserCurrencyQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "sourceTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyBaseTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "userSpecifiedCurrencyChannelModifier" : -10,
                        "userSpecifiedCurrencyPremiumModifier" : 40,
                        "userSpecifiedCurrencyPromotionalModifier" : -40,
                        "userSpecifiedCurrencyTotal" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        }
                      },
                      "pricingType" : "PER_USE",
                      "startDate" : "2017-12-22T03:07:58.742+0000",
                      "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                      "type" : "ADD_ON",
                      "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                    } ],
                    "bedroomConfiguration" : {
                      "bedroomList" : [ {
                        "bedList" : [ {
                          "bedTypeCode" : "1",
                          "quantity" : 2
                        } ],
                        "type" : "MASTER"
                      } ],
                      "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "name" : "Master Suite Layout"
                    },
                    "children" : 0,
                    "endDate" : "2025-12-27",
                    "extraCharges" : {
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "items" : [ {
                        "price" : {
                          "internalBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "internalChannelModifier" : -10,
                          "internalPremiumModifier" : 40,
                          "internalPromotionalModifier" : -40,
                          "internalTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "quantity" : 1,
                          "sourceBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "sourceChannelModifier" : -10,
                          "sourcePremiumModifier" : 40,
                          "sourcePromotionalModifier" : -40,
                          "sourceToInternalCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceToUserCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyChannelModifier" : -10,
                          "userSpecifiedCurrencyPremiumModifier" : 40,
                          "userSpecifiedCurrencyPromotionalModifier" : -40,
                          "userSpecifiedCurrencyTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          }
                        },
                        "ratePlanLevelFee" : {
                          "descriptions" : [ {
                            "creator" : "USER",
                            "description" : "This is a longer description in the specified language.",
                            "language" : "en",
                            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                          } ],
                          "fixedAmount" : 450.0,
                          "type" : "PER_DAY"
                        },
                        "unitPrice" : {
                          "internalBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "internalChannelModifier" : -10,
                          "internalPremiumModifier" : 40,
                          "internalPromotionalModifier" : -40,
                          "internalTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "quantity" : 1,
                          "sourceBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "sourceChannelModifier" : -10,
                          "sourcePremiumModifier" : 40,
                          "sourcePromotionalModifier" : -40,
                          "sourceToInternalCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceToUserCurrencyQuote" : {
                            "exchangeRate" : 33.5,
                            "source" : "USD",
                            "target" : "THB",
                            "timestamp" : 1705233000000
                          },
                          "sourceTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyBaseTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          },
                          "userSpecifiedCurrencyChannelModifier" : -10,
                          "userSpecifiedCurrencyPremiumModifier" : 40,
                          "userSpecifiedCurrencyPromotionalModifier" : -40,
                          "userSpecifiedCurrencyTotal" : {
                            "amount" : 1250.0,
                            "currency" : "USD"
                          }
                        }
                      } ],
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "guestUser" : {
                      "email" : "reservations@thesiamresidences.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "profile" : {
                        "createdDate" : "2026-01-14T09:30:00",
                        "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "lastUpdate" : "2026-02-03T16:45:12",
                        "personal" : {
                          "address1" : "123 Petchburi Road",
                          "address2" : "Ratchathewi District",
                          "birthDate" : "1985-06-15",
                          "childQuantity" : 2,
                          "citizenship" : "Thailand",
                          "city" : "Bangkok",
                          "contactPerson" : [ {
                            "email" : "johnsmith@email.com",
                            "firstName" : "Alexandra",
                            "fullName" : "Alexandra Beaumont",
                            "lastName" : "Beaumont",
                            "phoneNumber" : "+12125551212",
                            "secondaryEmail" : "johnsmith2@email.com",
                            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                          } ],
                          "country" : "TH",
                          "gender" : "FEMALE",
                          "language" : "en",
                          "maritalStatus" : "MARRIED",
                          "petInfo" : [ {
                            "name" : "Luna",
                            "type" : "Golden Retriever"
                          } ],
                          "postalCode" : "10400",
                          "preferredCurrency" : "USD",
                          "state" : "Bangkok"
                        },
                        "preferences" : {
                          "bedTypePref" : "King bed",
                          "cuisinePref" : "Thai",
                          "foodSrvcPref" : "In-room dining",
                          "guestType" : "Business traveler",
                          "hotelChainPref" : "Mandarin Oriental",
                          "mealPref" : "Continental breakfast",
                          "physChalFeaturePref" : "Wheelchair accessible rooms",
                          "propertyLocationPref" : "Beachfront",
                          "propertyTypePref" : "Luxury Resort",
                          "roomLocationPref" : "High floor with city view",
                          "smokingAllowed" : false
                        },
                        "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "share" : true,
                        "user" : {
                          "email" : "alexandra@beaumont.com",
                          "firstName" : "Alexandra",
                          "fullName" : "Alexandra Beaumont",
                          "lastName" : "Beaumont",
                          "phone" : "+66212658866",
                          "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                        },
                        "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                        "version" : 3
                      },
                      "telephone" : "+1 212 555 1212",
                      "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
                    },
                    "internalTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "perkTypes" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
                    "price" : {
                      "financialBreakdown" : {
                        "beneficiaryList" : [ {
                          "accountEmail" : "reservations@thesiamresidences.com",
                          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                          "accountName" : "The Siam Residences, Bangkok",
                          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                          "amountDue" : {
                            "percent" : 0.05
                          },
                          "displayAmount" : 450.0,
                          "displayAmountRefundModifier" : 45.0,
                          "displayCurrency" : "USD",
                          "internalAmount" : 450.0,
                          "internalAmountRefundModifier" : 45.0,
                          "internalCurrency" : "USD",
                          "netDisplayAmount" : 450.0,
                          "netInternalAmount" : 450.0,
                          "netSourceAmount" : 450.0,
                          "pendingRefunds" : [ {
                            "displayAmountRefundModifier" : 45.0,
                            "internalAmountRefundModifier" : 45.0,
                            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                            "sourceAmountRefundModifier" : 45.0
                          } ],
                          "reconciled" : false,
                          "sourceAmount" : 450.0,
                          "sourceAmountRefundModifier" : 45.0,
                          "sourceCurrency" : "THB"
                        } ],
                        "displayPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        },
                        "internalPriceQuote" : {
                          "exchangeRate" : 33.5,
                          "source" : "USD",
                          "target" : "THB",
                          "timestamp" : 1705233000000
                        }
                      },
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "offerDetails" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "quantity" : 2,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "quantity" : 1,
                    "ratePlan" : {
                      "allInclusive" : false,
                      "allInclusivePlusAlcohol" : false,
                      "breakfast" : false,
                      "brunch" : false,
                      "dinner" : false,
                      "earlyCheckInCharge" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "lateCheckOutCharge" : {
                        "fixedAmount" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "percent" : 0.25,
                        "type" : "PERCENTAGE"
                      },
                      "lunch" : false,
                      "name" : "BAR 1"
                    },
                    "room" : {
                      "active" : true,
                      "address" : {
                        "address1" : "234 Near da beach",
                        "address2" : "Pebble #5001",
                        "city" : "Bangkok",
                        "country" : "United States",
                        "countryCode" : "TH",
                        "county" : "Alameda county",
                        "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                        "postalCode" : "90210",
                        "state" : "CA"
                      },
                      "baseRate" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "bathroomCount" : 0,
                      "bedroomConfigurationList" : [ {
                        "bedroomList" : [ {
                          "bedList" : [ {
                            "bedTypeCode" : "1",
                            "quantity" : 2
                          } ],
                          "type" : "MASTER"
                        } ],
                        "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "name" : "Master Suite Layout"
                      } ],
                      "bookable" : true,
                      "commissionable" : true,
                      "composite" : false,
                      "compositeCount" : 2,
                      "contact" : {
                        "email" : "johnsmith@email.com",
                        "firstName" : "Alexandra",
                        "fullName" : "Alexandra Beaumont",
                        "lastName" : "Beaumont",
                        "phoneNumber" : "+12125551212",
                        "secondaryEmail" : "johnsmith2@email.com",
                        "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                      },
                      "createdDate" : "2026-01-14T09:30:00",
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                        "language" : "en",
                        "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                        "name" : "Deluxe River View Suite"
                      } ],
                      "featuredInd" : false,
                      "floor" : "3",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "includedAdultOccupancy" : 2,
                      "includedChildOccupancy" : 0,
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                      "livingRoomCount" : 0,
                      "location" : {
                        "coordinates" : [ 100.5581533, 13.7370197 ],
                        "type" : "POINT"
                      },
                      "maxAdultOccupancy" : 1,
                      "maxChildOccupancy" : 0,
                      "maxCribs" : 1,
                      "maxOccupancy" : 2,
                      "maxRollaways" : 0,
                      "minAgeAppropriateCode" : "1",
                      "minOccupancy" : 1,
                      "minRate" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "multimedias" : [ {
                        "angle" : null,
                        "attribution" : [ ],
                        "category" : "2",
                        "descriptions" : [ {
                          "description" : "Elegant lobby of The Siam Residences",
                          "language" : "en",
                          "title" : "Lobby Entrance"
                        } ],
                        "height" : 1600,
                        "identifier" : "the-siam-residences/lobby-entrance",
                        "isLandscape" : true,
                        "lifestyleType" : null,
                        "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "published" : true,
                        "sort" : 10,
                        "source" : "CLOUDINARY",
                        "type" : "IMAGE",
                        "width" : 2560
                      } ],
                      "name" : "Archery lesson",
                      "nonSmoking" : true,
                      "pricePoint" : "THREE",
                      "proximityCode" : "1",
                      "publishStatus" : "PUBLISHED",
                      "quantity" : 40,
                      "recognitionList" : [ {
                        "category" : "AWARD",
                        "date" : "2026-01-14",
                        "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "maxRating" : 10.0,
                        "officialAppointmentInd" : true,
                        "provider" : "Michelin",
                        "rating" : 8.5,
                        "ratingSymbol" : "*",
                        "type" : "PERCENT_RATING"
                      } ],
                      "roomArchitectureCode" : "1",
                      "roomCategory" : "1",
                      "roomClassificationCode" : "1",
                      "roomGender" : "Female",
                      "roomLocationCode" : "1",
                      "roomViewCode" : "1",
                      "sharedRoomInd" : false,
                      "size" : 55,
                      "socials" : [ {
                        "location" : "https://www.instagram.com/thesiamresidences",
                        "type" : "INSTAGRAM"
                      } ],
                      "sort" : 1,
                      "transactionalInventoryList" : [ {
                        "basePrice" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "descriptions" : [ {
                          "creator" : "USER",
                          "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                          "language" : "en",
                          "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                          "name" : "Deluxe River View Suite"
                        } ],
                        "discountedPrice" : {
                          "amount" : 1250.0,
                          "currency" : "USD"
                        },
                        "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                        "maxPax" : 10,
                        "minPax" : 2,
                        "multimedias" : [ {
                          "angle" : null,
                          "attribution" : [ ],
                          "category" : "2",
                          "descriptions" : [ {
                            "description" : "Elegant lobby of The Siam Residences",
                            "language" : "en",
                            "title" : "Lobby Entrance"
                          } ],
                          "height" : 1600,
                          "identifier" : "the-siam-residences/lobby-entrance",
                          "isLandscape" : true,
                          "lifestyleType" : null,
                          "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                          "published" : true,
                          "sort" : 10,
                          "source" : "CLOUDINARY",
                          "type" : "IMAGE",
                          "width" : 2560
                        } ],
                        "name" : "1 hour session",
                        "percentDiscount" : 0.1,
                        "percentPremium" : 0.1,
                        "pricingType" : "PER_NIGHT"
                      } ],
                      "version" : 3
                    },
                    "roomImageUrl" : "https://path.to/room-image.jpg",
                    "roomRateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                    "roomRateInternalName" : "Master Rate 1",
                    "sourceTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "startDate" : "2025-12-24",
                    "userSpecifiedCurrencyTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    }
                  },
                  "roomTypeAncillaries" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "spas" : [ {
                    "address" : {
                      "address1" : "234 Near da beach",
                      "address2" : "Pebble #5001",
                      "city" : "Bangkok",
                      "country" : "United States",
                      "countryCode" : "TH",
                      "county" : "Alameda county",
                      "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                      "postalCode" : "90210",
                      "state" : "CA"
                    },
                    "attendees" : 2,
                    "contact" : {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    },
                    "endDate" : "2017-12-22T08:07:58.742+0000",
                    "financialBreakdown" : {
                      "beneficiaryList" : [ {
                        "accountEmail" : "reservations@thesiamresidences.com",
                        "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                        "accountName" : "The Siam Residences, Bangkok",
                        "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                        "amountDue" : {
                          "percent" : 0.05
                        },
                        "displayAmount" : 450.0,
                        "displayAmountRefundModifier" : 45.0,
                        "displayCurrency" : "USD",
                        "internalAmount" : 450.0,
                        "internalAmountRefundModifier" : 45.0,
                        "internalCurrency" : "USD",
                        "netDisplayAmount" : 450.0,
                        "netInternalAmount" : 450.0,
                        "netSourceAmount" : 450.0,
                        "pendingRefunds" : [ {
                          "displayAmountRefundModifier" : 45.0,
                          "internalAmountRefundModifier" : 45.0,
                          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                          "sourceAmountRefundModifier" : 45.0
                        } ],
                        "reconciled" : false,
                        "sourceAmount" : 450.0,
                        "sourceAmountRefundModifier" : 45.0,
                        "sourceCurrency" : "THB"
                      } ],
                      "displayPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "internalPriceQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      }
                    },
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "imageIdentifier" : "cloudinary-image-1",
                    "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                    "localizedDescription" : "place-1",
                    "localizedName" : "Plass 1",
                    "name" : "Thai Massage Spa Treatment",
                    "price" : {
                      "internalBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "internalChannelModifier" : -10,
                      "internalPremiumModifier" : 40,
                      "internalPromotionalModifier" : -40,
                      "internalTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "quantity" : 1,
                      "sourceBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "sourceChannelModifier" : -10,
                      "sourcePremiumModifier" : 40,
                      "sourcePromotionalModifier" : -40,
                      "sourceToInternalCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceToUserCurrencyQuote" : {
                        "exchangeRate" : 33.5,
                        "source" : "USD",
                        "target" : "THB",
                        "timestamp" : 1705233000000
                      },
                      "sourceTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyBaseTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "userSpecifiedCurrencyChannelModifier" : -10,
                      "userSpecifiedCurrencyPremiumModifier" : 40,
                      "userSpecifiedCurrencyPromotionalModifier" : -40,
                      "userSpecifiedCurrencyTotal" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      }
                    },
                    "pricingType" : "PER_USE",
                    "startDate" : "2017-12-22T03:07:58.742+0000",
                    "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                    "type" : "ADD_ON",
                    "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
                  } ],
                  "statusHistory" : [ {
                    "actor" : "stripe-webhook",
                    "fromStatus" : "PENDING",
                    "reason" : "Payment confirmed by Stripe",
                    "timestamp" : "2026-01-15T10:30:00Z",
                    "toStatus" : "CONFIRMED"
                  } ],
                  "totalAffiliateAgencyFeesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalPaymentProcessingFeeSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalPlatformFeeSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalSalesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "totalSupplierAgencyFeesSourceAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSession" : {
                    "currency" : "USD",
                    "itinerary" : {
                      "endDate" : "2024-01-02",
                      "items" : [ {
                        "adults" : 2,
                        "children" : [ {
                          "age" : 8,
                          "quantity" : 2
                        } ]
                      } ],
                      "nights" : 7,
                      "startDate" : "2024-01-01"
                    },
                    "language" : "en",
                    "lifestyle" : "LUXURY",
                    "promotionalCodes" : [ "promo-1" ],
                    "selectedRoomConfigurationIndex" : 0
                  },
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}/social" : {
      "patch" : {
        "tags" : [ "Add-On" ],
        "summary" : "Patch add-on social",
        "description" : "Incrementally updates only the social section (social network account links) of an add-on. Draft-friendly. Send the add-on's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-add-on-social",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the add-on must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The add-on's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Social section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAddOnSocialRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on social patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}/schedule" : {
      "patch" : {
        "tags" : [ "Add-On" ],
        "summary" : "Patch add-on schedule",
        "description" : "Incrementally updates only the schedule section (applicable date range, opening hours, reservation-required flag, days-of-week pattern) of an add-on. Draft-friendly. Send the add-on's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-add-on-schedule",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the add-on must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The add-on's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Schedule section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAddOnScheduleRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on schedule patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}/recognition" : {
      "patch" : {
        "tags" : [ "Add-On" ],
        "summary" : "Patch add-on recognition",
        "description" : "Incrementally updates only the recognition section (awards, certifications, ratings) of an add-on. Draft-friendly. Send the add-on's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-add-on-recognition",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the add-on must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The add-on's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Recognition section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAddOnRecognitionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on recognition patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}/proximity" : {
      "patch" : {
        "tags" : [ "Add-On" ],
        "summary" : "Patch add-on proximity",
        "description" : "Incrementally updates only the proximity section (proximity code, geo-location, contact, address) of an add-on. Draft-friendly. Send the add-on's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-add-on-proximity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the add-on must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The add-on's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Proximity section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAddOnProximityRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on proximity patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}/multimedia/{multimediaIdentifier}" : {
      "delete" : {
        "tags" : [ "Add-On" ],
        "summary" : "Delete media",
        "description" : "Removes a media entry from the add-on by detaching it but not deleting the asset file. Returns the updated add-on. Requires INVENTORY:WRITE permission.",
        "operationId" : "remove-multimedia_1",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the add-on",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier with the media to remove",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "multimediaIdentifier",
          "in" : "path",
          "description" : "Media identifier to remove",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "c9e1b3a7-2f4d-4e8b-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Media entry detached from add-on successfully. Returns the updated add-on without the removed media.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Add-On" ],
        "summary" : "Update media metadata",
        "description" : "Updates the metadata (title, description, alt text) of a media entry already attached to the add-on. Requires INVENTORY:WRITE permission.",
        "operationId" : "update-add-on-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the add-on",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier with the media to update",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "multimediaIdentifier",
          "in" : "path",
          "description" : "Media identifier to update",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "c9e1b3a7-2f4d-4e8b-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Updated media metadata including caption, alt text and sort order",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SimpleMultimedia"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Media metadata updated successfully. Returns the updated add-on.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}/multimedia-section" : {
      "patch" : {
        "tags" : [ "Add-On" ],
        "summary" : "Patch add-on multimedia",
        "description" : "Replaces the full ordered media list of an add-on. Draft-friendly; promotes a DRAFT to PUBLISHED once the add-on becomes complete. Send the add-on's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-add-on-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the add-on must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The add-on's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Multimedia section: the full ordered media list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAddOnMultimediaRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on multimedia patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}/distribution" : {
      "patch" : {
        "tags" : [ "Add-On" ],
        "summary" : "Patch add-on distribution",
        "description" : "Incrementally updates only the distribution section (bookability, commission eligibility, price point, transactional inventory) of an add-on. Draft-friendly. Send the add-on's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-add-on-distribution",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the add-on must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The add-on's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Distribution section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAddOnDistributionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on distribution patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}/descriptions" : {
      "patch" : {
        "tags" : [ "Add-On" ],
        "summary" : "Patch add-on descriptions",
        "description" : "Incrementally updates only the localized descriptions section of an add-on. Draft-friendly; promotes a DRAFT to PUBLISHED once the add-on becomes complete. Send the add-on's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-add-on-descriptions",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the add-on must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The add-on's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Descriptions section: the localized descriptions list.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAddOnDescriptionsRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on descriptions patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}/configuration" : {
      "patch" : {
        "tags" : [ "Add-On" ],
        "summary" : "Patch add-on configuration",
        "description" : "Incrementally updates only the configuration section (name, number of units, mandatory flag, optional rate plan / date-range restriction, active flag, featured indicator) of an add-on. Draft-friendly: an incomplete add-on persists as a DRAFT and is promoted to PUBLISHED once complete. Send the add-on's current version as If-Match for optimistic concurrency (409 on conflict). Requires INVENTORY:WRITE.",
        "operationId" : "patch-add-on-configuration",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the add-on must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The add-on's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Configuration section: name, number of units, mandatory flag, optional rate plan / date-range restriction, active flag, featured indicator.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAddOnConfigurationRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on configuration patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/add-on/{addOnIdentifier}/active" : {
      "patch" : {
        "tags" : [ "Add-On" ],
        "summary" : "Patch add-on active flag",
        "description" : "Incrementally updates only the active availability flag of an add-on. Draft-friendly. Send the add-on's current version as If-Match for optimistic concurrency. Requires INVENTORY:WRITE.",
        "operationId" : "patch-add-on-active",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the add-on must belong to this property.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "addOnIdentifier",
          "in" : "path",
          "description" : "Add-on identifier to patch.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The add-on's last-seen version, for optimistic concurrency. Optional; a stale value is rejected with 409. Accepts a bare version (3), a quoted entity-tag (\"3\"), W/\"3\", or *.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Active flag section.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchAddOnActiveRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Add-on active flag patched successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AddOnLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "dateRanges" : [ {
                    "endDate" : "2020-12-31",
                    "startDate" : "2020-12-24"
                  } ],
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "mandatory" : true,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "numberOfUnits" : 15,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "ratePlan" : {
                    "allInclusive" : false,
                    "allInclusivePlusAlcohol" : false,
                    "arrivalDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "availableDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "breakfast" : false,
                    "brunch" : false,
                    "cancellationPolicy" : {
                      "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                      "createdDate" : "2026-01-14T09:30:00",
                      "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                      "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "lastUpdate" : "2026-02-03T16:45:12",
                      "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                      "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                      "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                      "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                      "refundable" : false,
                      "refundableCancellationCharge" : "FIFTY_PERCENT",
                      "version" : 3
                    },
                    "cancellationPolicyExceptions" : {
                      "list" : [ {
                        "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                        "endDate" : "2026-12-31",
                        "startDate" : "2026-01-14"
                      } ]
                    },
                    "createdDate" : "2026-01-14T09:30:00",
                    "departureDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "dinner" : false,
                    "earlyCheckInCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "enabled" : false,
                    "extraChildRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "extraPaxRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "lateCheckOutCharge" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "loyaltyPointsAccrue" : false,
                    "lunch" : false,
                    "maxAdvanceBookingOffset" : 180,
                    "maxAge" : 65,
                    "maxLOS" : 30,
                    "maxTotalOccupancy" : 4,
                    "minAdvanceBookingOffset" : 3,
                    "minAge" : 18,
                    "minLOS" : 1,
                    "minTotalOccupancy" : 1,
                    "name" : "Best Available Rate",
                    "prepaid" : false,
                    "ratePlanLevelFees" : [ {
                      "descriptions" : [ {
                        "creator" : "USER",
                        "description" : "This is a longer description in the specified language.",
                        "language" : "en",
                        "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                      } ],
                      "fixedAmount" : 450.0,
                      "type" : "PER_DAY"
                    } ],
                    "requiredDaysOfWeek" : {
                      "disabled" : true,
                      "fri" : true,
                      "mon" : true,
                      "sat" : true,
                      "sun" : true,
                      "thu" : true,
                      "tue" : true,
                      "wed" : true
                    },
                    "sellEndDate" : "2026-12-31",
                    "sellStartDate" : "2026-01-15",
                    "singleOccupancyRateModifier" : {
                      "fixedAmount" : {
                        "amount" : 1250.0,
                        "currency" : "USD"
                      },
                      "percent" : 0.25,
                      "type" : "PERCENTAGE"
                    },
                    "stayEndDate" : "2026-12-31",
                    "stayStartDate" : "2026-01-15",
                    "version" : 3
                  },
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/sales-channel/request/{salesChannelRequestIdentifier}" : {
      "delete" : {
        "tags" : [ "Sales Channel Request" ],
        "summary" : "Reject",
        "description" : "Rejects the inbound relationship request identified by its sales-channel request identifier and returns the resulting record.",
        "operationId" : "remove-sales-channel-request",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Remove sales channel request owned by this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "salesChannelRequestIdentifier",
          "in" : "path",
          "description" : "Remove sales channel request with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The rejected sales channel relationship request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SalesChannelRequestLightweight_Supplier"
                },
                "example" : {
                  "createdDate" : "2026-01-14T09:30:00",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "introductoryMessage" : "We represent a travel agency network with strong demand for your properties and would like to establish a partnership to offer exclusive rates to our members.",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerName" : "The Siam Residences",
                  "requestType" : "DIRECT_CONNECTION",
                  "status" : "REQUESTING",
                  "subType" : "APPLICATION",
                  "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "supplierName" : "The Siam Residences, Bangkok",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/spa/{spaIdentifier}/multimedia/{multimediaIdentifier}" : {
      "delete" : {
        "tags" : [ "Spa" ],
        "summary" : "Delete multimedia asset",
        "description" : "Detaches and permanently removes a single image or video asset from the spa's media library. Returns the updated spa record.",
        "operationId" : "delete-multimedia",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property (managing entity) identifier — the spa must belong to this property",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "spaIdentifier",
          "in" : "path",
          "description" : "Spa identifier — the spa to remove media from",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "multimediaIdentifier",
          "in" : "path",
          "description" : "Multimedia identifier — the asset to delete",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Updated spa record after removing the multimedia asset",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpaLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/room-type/{roomTypeIdentifier}/multimedia/{multimediaIdentifier}" : {
      "delete" : {
        "tags" : [ "Guest Room" ],
        "summary" : "Delete room media",
        "description" : "Removes a single image or video asset, identified by its multimedia identifier, from a room type. Requires INVENTORY:WRITE on the property.",
        "operationId" : "remove-multimedia_2",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Property identifier that owns the room type.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        }, {
          "name" : "roomTypeIdentifier",
          "in" : "path",
          "description" : "Room type identifier to remove media from.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
        }, {
          "name" : "multimediaIdentifier",
          "in" : "path",
          "description" : "Multimedia identifier to delete.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Media asset removed successfully; the updated room type is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GuestRoomLightweight"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "baseRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "bathroomCount" : 0,
                  "bedroomConfigurationList" : [ {
                    "bedroomList" : [ {
                      "bedList" : [ {
                        "bedTypeCode" : "1",
                        "quantity" : 2
                      } ],
                      "type" : "MASTER"
                    } ],
                    "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "name" : "Master Suite Layout"
                  } ],
                  "bookable" : true,
                  "commissionable" : true,
                  "composite" : false,
                  "compositeCount" : 2,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "floor" : "3",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "includedAdultOccupancy" : 2,
                  "includedChildOccupancy" : 0,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "livingRoomCount" : 0,
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxAdultOccupancy" : 1,
                  "maxChildOccupancy" : 0,
                  "maxCribs" : 1,
                  "maxOccupancy" : 2,
                  "maxRollaways" : 0,
                  "minAgeAppropriateCode" : "1",
                  "minOccupancy" : 1,
                  "minRate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "nonSmoking" : true,
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "quantity" : 40,
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "roomArchitectureCode" : "1",
                  "roomCategory" : "1",
                  "roomClassificationCode" : "1",
                  "roomGender" : "Female",
                  "roomLocationCode" : "1",
                  "roomViewCode" : "1",
                  "sharedRoomInd" : false,
                  "size" : 55,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/restaurant/{restaurantIdentifier}/multimedia/{multimediaIdentifier}" : {
      "delete" : {
        "tags" : [ "Restaurant" ],
        "summary" : "Delete media",
        "description" : "Detaches and removes a single media asset from a restaurant by its identifier.",
        "operationId" : "remove-multimedia_3",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Remove a media record from an existing restaurant owned by this property (managing entity) identifier.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "restaurantIdentifier",
          "in" : "path",
          "description" : "Remove a media record from an existing restaurant identified by this identifier.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "multimediaIdentifier",
          "in" : "path",
          "description" : "Remove a media record with this identifier.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "The restaurant record updated after the media asset was removed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestaurantLightweight_Supplier"
                },
                "example" : {
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "maxSeatingCapacity" : 100,
                  "maxSingleParty" : 10,
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "offerBreakfast" : true,
                  "offerBrunch" : true,
                  "offerDinner" : true,
                  "offerLunch" : true,
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/extranet/facility/meeting-room/{meetingRoomIdentifier}/multimedia/{multimediaIdentifier}" : {
      "delete" : {
        "tags" : [ "Meeting Room" ],
        "summary" : "Delete multimedia",
        "description" : "Detaches the media entry identified by its identifier from the meeting room.",
        "operationId" : "remove-multimedia_4",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Remove media for meeting room associated with this property identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "meetingRoomIdentifier",
          "in" : "path",
          "description" : "Remove media for meeting room with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "a3f7c2d1-5b9e-4a8c-b6d4-2e0f1a9c7b35"
        }, {
          "name" : "multimediaIdentifier",
          "in" : "path",
          "description" : "Remove media with this identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "c9e4b1a7-3d6f-4c2a-8e5d-1b0f7a2c4e68"
        }, {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "enum" : [ "application/json" ],
            "default" : null
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Media entry detached; returns the updated meeting room record",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeetingRoomLightweight_Supplier"
                },
                "example" : {
                  "access" : "MEETING_ROOM_ACCESS_PUBLIC",
                  "active" : true,
                  "address" : {
                    "address1" : "234 Near da beach",
                    "address2" : "Pebble #5001",
                    "city" : "Bangkok",
                    "country" : "United States",
                    "countryCode" : "TH",
                    "county" : "Alameda county",
                    "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                    "postalCode" : "90210",
                    "state" : "CA"
                  },
                  "applicableEnd" : "1970-12-1",
                  "applicableStart" : "1970-1-1",
                  "area" : 100,
                  "bookable" : true,
                  "closes" : "17:30",
                  "commissionable" : true,
                  "contact" : {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "daysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dedicatedInd" : false,
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "featuredInd" : false,
                  "height" : 4,
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "irregular" : true,
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "length" : 5,
                  "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                  "location" : {
                    "coordinates" : [ 100.5581533, 13.7370197 ],
                    "type" : "POINT"
                  },
                  "meetingRoomCapacity" : 100,
                  "meetingRoomLevel" : "LOBBY",
                  "meetingRoomTypeCode" : [ "1" ],
                  "minAgeAppropriateCode" : "1",
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "Archery lesson",
                  "opens" : "09:00",
                  "pricePoint" : "THREE",
                  "proximityCode" : "1",
                  "publishStatus" : "PUBLISHED",
                  "recognitionList" : [ {
                    "category" : "AWARD",
                    "date" : "2026-01-14",
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxRating" : 10.0,
                    "officialAppointmentInd" : true,
                    "provider" : "Michelin",
                    "rating" : 8.5,
                    "ratingSymbol" : "*",
                    "type" : "PERCENT_RATING"
                  } ],
                  "reservationRequiredInd" : false,
                  "socials" : [ {
                    "location" : "https://www.instagram.com/thesiamresidences",
                    "type" : "INSTAGRAM"
                  } ],
                  "sort" : 1,
                  "transactionalInventoryList" : [ {
                    "basePrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                      "language" : "en",
                      "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                      "name" : "Deluxe River View Suite"
                    } ],
                    "discountedPrice" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "maxPax" : 10,
                    "minPax" : 2,
                    "multimedias" : [ {
                      "angle" : null,
                      "attribution" : [ ],
                      "category" : "2",
                      "descriptions" : [ {
                        "description" : "Elegant lobby of The Siam Residences",
                        "language" : "en",
                        "title" : "Lobby Entrance"
                      } ],
                      "height" : 1600,
                      "identifier" : "the-siam-residences/lobby-entrance",
                      "isLandscape" : true,
                      "lifestyleType" : null,
                      "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                      "published" : true,
                      "sort" : 10,
                      "source" : "CLOUDINARY",
                      "type" : "IMAGE",
                      "width" : 2560
                    } ],
                    "name" : "1 hour session",
                    "percentDiscount" : 0.1,
                    "percentPremium" : 0.1,
                    "pricingType" : "PER_NIGHT"
                  } ],
                  "version" : 3,
                  "width" : 5
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "ProblemDetail" : {
        "type" : "object",
        "properties" : {
          "detail" : {
            "type" : "string"
          },
          "instance" : {
            "type" : "string",
            "format" : "uri"
          },
          "properties" : {
            "additionalProperties" : { },
            "type" : "object"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "title" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "format" : "uri"
          }
        }
      },
      "UpdateScheduleItemRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body for updating the timing, timezone, and attendee count of an existing schedule item.",
        "example" : {
          "attendees" : 2,
          "end" : "2026-02-15T15:30:00",
          "endTimezone" : "Asia/Bangkok",
          "isAllDay" : true,
          "start" : "2026-02-15T14:00:00",
          "startTimezone" : "Asia/Bangkok"
        },
        "properties" : {
          "attendees" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of guests or attendees for this event. Must be at least 1.",
            "example" : 2,
            "minimum" : 1
          },
          "end" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End date and time of the scheduled event in ISO-8601 format.",
            "example" : "2026-02-15T15:30:00"
          },
          "endTimezone" : {
            "type" : "string",
            "description" : "Timezone identifier for the end time, using IANA time zone database format (e.g., Asia/Bangkok, America/New_York).",
            "example" : "Asia/Bangkok",
            "minLength" : 1
          },
          "isAllDay" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Flag indicating whether this is an all-day event (no specific time). If true, time portions of start and end are ignored.",
            "example" : true
          },
          "start" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start date and time of the scheduled event in ISO-8601 format.",
            "example" : "2026-02-15T14:00:00"
          },
          "startTimezone" : {
            "type" : "string",
            "description" : "Timezone identifier for the start time, using IANA time zone database format (e.g., Asia/Bangkok, America/New_York).",
            "example" : "Asia/Bangkok",
            "minLength" : 1
          }
        },
        "required" : [ "attendees", "end", "endTimezone", "isAllDay", "start", "startTimezone" ]
      },
      "Contact_Supplier" : {
        "type" : "object",
        "example" : {
          "email" : "johnsmith@email.com",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "lastName" : "Beaumont",
          "phoneNumber" : "+12125551212",
          "secondaryEmail" : "johnsmith2@email.com",
          "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Contact E-mail",
            "example" : "johnsmith@email.com"
          },
          "firstName" : {
            "type" : "string",
            "description" : "Contact first name",
            "example" : "Alexandra"
          },
          "fullName" : {
            "type" : "string",
            "description" : "First and last name",
            "example" : "Alexandra Beaumont",
            "readOnly" : true
          },
          "lastName" : {
            "type" : "string",
            "description" : "Contact last name",
            "example" : "Beaumont"
          },
          "phoneNumber" : {
            "type" : "string",
            "description" : "Contact phone number",
            "example" : "+12125551212",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "secondaryEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Contact secondary Email",
            "example" : "johnsmith2@email.com"
          },
          "summary" : {
            "type" : "string",
            "description" : "Summary",
            "example" : "John Smith (johnsmith@gmail.com / +12125551212)",
            "readOnly" : true
          }
        }
      },
      "ScheduleItemLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a calendar schedule item representing a reservation or event on a travel inventory such as a meeting room, restaurant, spa, activity, attraction, or place.",
        "example" : {
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "attendees" : 2,
          "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
          "bookingOwnerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "brandName" : "The Siam Residences",
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "created" : "2026-01-14T09:30:00",
          "createdDate" : "2026-01-14T09:30:00",
          "description" : "Reservation for Jane Doe - 2 PAX",
          "email" : "reservations@thesiamresidences.com",
          "emailHeaderLogoUrl" : "https://res.cloudinary.com/wink/image/upload/v1/branding/the-siam-residences-logo.png",
          "end" : "2026-02-15T15:30:00",
          "endTimezone" : "Asia/Bangkok",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "isAllDay" : true,
          "language" : "en",
          "lastModified" : "2026-02-03T16:45:12",
          "lastName" : "Beaumont",
          "lastUpdate" : "2026-02-03T16:45:12",
          "localizedVenueName" : "ห้องอาหารหลัก",
          "logoIdentifier" : "the-siam-residences-logo",
          "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
          "recurrenceException" : [ "2026-02-16T14:00:00", "2026-02-18T14:00:00" ],
          "recurrenceId" : "a2d5f8b1-1c4e-4d7a-8b3f-2e9a0c6b5d41",
          "recurrenceRule" : "FREQ=DAILY;COUNT=5",
          "sequence" : 0,
          "start" : "2026-02-15T14:00:00",
          "startTimezone" : "Asia/Bangkok",
          "title" : "Jane Doe +1",
          "type" : "MEETING_ROOM",
          "venueName" : "The Siam Residences Dining Hall",
          "version" : 3
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Venue address"
          },
          "allDay" : {
            "type" : "boolean"
          },
          "attendees" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of guests attending this event.",
            "example" : 2
          },
          "bookingIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Booking identifier that this scheduled event is associated with.",
            "example" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92"
          },
          "bookingOwnerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Identifier of the managing entity (company/organization) that owns this schedule item.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
          },
          "brandName" : {
            "type" : "string",
            "description" : "Brand name to display in event notification emails and headers.",
            "example" : "The Siam Residences"
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Venue contact person"
          },
          "created" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp when this schedule item was created, in ISO-8601 format.",
            "example" : "2026-01-14T09:30:00"
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Description of scheduled event.",
            "example" : "Reservation for Jane Doe - 2 PAX"
          },
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Email address of the person who scheduled or is managing this event.",
            "example" : "reservations@thesiamresidences.com"
          },
          "emailHeaderLogoUrl" : {
            "type" : "string",
            "format" : "uri",
            "description" : "URL of the logo image to display in event notification email headers. Typically a Cloudinary CDN URL.",
            "example" : "https://res.cloudinary.com/wink/image/upload/v1/branding/the-siam-residences-logo.png"
          },
          "end" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End date and time of scheduled event in ISO-8601 format.",
            "example" : "2026-02-15T15:30:00"
          },
          "endTimezone" : {
            "type" : "string",
            "description" : "Timezone identifier for the end time, using IANA time zone database format (e.g., Asia/Bangkok, America/New_York).",
            "example" : "Asia/Bangkok"
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name of the person who scheduled or is managing this event.",
            "example" : "Alexandra"
          },
          "fullName" : {
            "type" : "string",
            "description" : "Full name of the person who scheduled or is managing this event.",
            "example" : "Alexandra Beaumont"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Identifier of the property (hotel) that owns the travel inventory.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "isAllDay" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Flag indicating whether this is an all day event.",
            "example" : true
          },
          "language" : {
            "type" : "string",
            "description" : "ISO 639-1 language code for the user's preferred language in notifications (e.g., en, th, de).",
            "example" : "en",
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "lastModified" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp when this schedule item was last modified, in ISO-8601 format.",
            "example" : "2026-02-03T16:45:12"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name of the person who scheduled or is managing this event.",
            "example" : "Beaumont"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "localizedVenueName" : {
            "type" : "string",
            "description" : "Localized (translated) name of the venue in the local language.",
            "example" : "ห้องอาหารหลัก"
          },
          "logoIdentifier" : {
            "type" : "string",
            "description" : "Cloudinary identifier for the logo image, used for referencing and potential reuse across notifications.",
            "example" : "the-siam-residences-logo"
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier of the travel inventory (meeting room, restaurant, spa, activity, etc.) that owns this schedule item.",
            "example" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43"
          },
          "recurrenceException" : {
            "type" : "array",
            "description" : "List of date-times that are exceptions to the recurrence rule (dates when the recurring event does not occur).",
            "example" : [ "2026-02-16T14:00:00", "2026-02-18T14:00:00" ],
            "items" : {
              "type" : "string",
              "format" : "date-time"
            }
          },
          "recurrenceId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Identifier of the parent recurring event. Used when this instance is part of a recurring series.",
            "example" : "a2d5f8b1-1c4e-4d7a-8b3f-2e9a0c6b5d41"
          },
          "recurrenceRule" : {
            "type" : "string",
            "description" : "Recurrence rule in iCalendar format (RFC 5545). If present, indicates this is a recurring event. Null for non-recurring events. For details see [iCalendar specification](https://icalendar.org/).",
            "example" : "FREQ=DAILY;COUNT=5"
          },
          "sequence" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Schedule event recurring sequence",
            "example" : 0
          },
          "start" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start date and time of scheduled event in ISO-8601 format.",
            "example" : "2026-02-15T14:00:00"
          },
          "startTimezone" : {
            "type" : "string",
            "description" : "Timezone identifier for the start time, using IANA time zone database format (e.g., Asia/Bangkok, America/New_York).",
            "example" : "Asia/Bangkok"
          },
          "title" : {
            "type" : "string",
            "description" : "Title of scheduled event.",
            "example" : "Jane Doe +1"
          },
          "type" : {
            "type" : "string",
            "description" : "The type of travel inventory.",
            "enum" : [ "ROOM_TYPE_ANCILLARY", "ADD_ON", "MEETING_ROOM", "SPA", "RESTAURANT", "ACTIVITY", "ATTRACTION", "PLACE" ],
            "example" : "MEETING_ROOM"
          },
          "venueName" : {
            "type" : "string",
            "description" : "Name of the venue where the scheduled event takes place.",
            "example" : "The Siam Residences Dining Hall"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        }
      },
      "SimpleAddress_Supplier" : {
        "type" : "object",
        "description" : "Address information",
        "example" : {
          "address1" : "234 Near da beach",
          "address2" : "Pebble #5001",
          "city" : "Bangkok",
          "country" : "United States",
          "countryCode" : "TH",
          "county" : "Alameda county",
          "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
          "postalCode" : "90210",
          "state" : "CA"
        },
        "properties" : {
          "address1" : {
            "type" : "string",
            "description" : "Address line 1",
            "example" : "234 Near da beach"
          },
          "address2" : {
            "type" : "string",
            "description" : "Address line 2",
            "example" : "Pebble #5001"
          },
          "city" : {
            "type" : "string",
            "description" : "City name",
            "example" : "Bangkok"
          },
          "country" : {
            "type" : "string",
            "description" : "Country",
            "example" : "United States",
            "readOnly" : true
          },
          "countryCode" : {
            "type" : "string",
            "description" : "Country",
            "example" : "TH",
            "pattern" : "^[A-Z]{2}$"
          },
          "county" : {
            "type" : "string",
            "description" : "County",
            "example" : "Alameda county"
          },
          "fullAddress" : {
            "type" : "string",
            "description" : "Address 1, Address 2, City, State, Postal / Zip code, Country",
            "example" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "readOnly" : true
          },
          "postalCode" : {
            "type" : "string",
            "description" : "Postal / zip code",
            "example" : "90210"
          },
          "state" : {
            "type" : "string",
            "description" : "State",
            "example" : "CA"
          }
        }
      },
      "CustomMonetaryAmount" : {
        "type" : "object",
        "description" : "Monetary amount with an associated ISO 4217 currency code, used at API boundaries where JSON-friendly serialization is needed",
        "example" : {
          "amount" : 1250.0,
          "currency" : "USD"
        },
        "properties" : {
          "amount" : {
            "type" : "number",
            "description" : "Monetary amount value",
            "example" : 1250.0
          },
          "currency" : {
            "type" : "string",
            "description" : "ISO 4217 currency code",
            "example" : "USD",
            "minLength" : 1,
            "pattern" : "^[A-Z]{3}$"
          }
        },
        "required" : [ "amount", "currency" ]
      },
      "RateKey_Supplier" : {
        "type" : "object",
        "description" : "Unique key for identifying and updating a specific daily rate",
        "example" : {
          "date" : "2026-01-14",
          "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "ratePlanIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        },
        "properties" : {
          "date" : {
            "type" : "string",
            "format" : "date",
            "description" : "Date this rate applies to",
            "example" : "2026-01-14"
          },
          "guestRoomIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Guest room (room type) identifier for this rate",
            "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property identifier that owns this rate",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
          },
          "ratePlanIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Rate plan identifier for pricing and restrictions",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
          }
        },
        "required" : [ "date", "guestRoomIdentifier", "hotelIdentifier", "ratePlanIdentifier" ]
      },
      "UpsertIndividualRateRequestWrapper_Supplier" : {
        "type" : "object",
        "description" : "Wrapper pairing a rate key with update values for a single daily rate",
        "example" : {
          "key" : {
            "date" : "2026-01-14",
            "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "ratePlanIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
          },
          "value" : {
            "closedOnArrival" : false,
            "closedOnDeparture" : false,
            "currencyCode" : "THB",
            "deltaQuantity" : 1,
            "extraChildRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "extraPaxRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "idempotencyKey" : "booking-f4d1c8e5-2b9a:CREATED",
            "master" : true,
            "maxLengthOfStay" : 30,
            "minLengthOfStay" : 2,
            "quantity" : 5,
            "rate" : 450.0,
            "singleOccupancyRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            }
          }
        },
        "properties" : {
          "key" : {
            "$ref" : "#/components/schemas/RateKey_Supplier",
            "description" : "Rate identification key (hotel, rate plan, room, date)"
          },
          "value" : {
            "$ref" : "#/components/schemas/UpsertIndividualRateRequest_Supplier",
            "description" : "Rate update values for this key"
          }
        },
        "required" : [ "key", "value" ]
      },
      "UpsertIndividualRateRequest_Supplier" : {
        "type" : "object",
        "description" : "Individual daily rate update values for a specific date",
        "example" : {
          "closedOnArrival" : false,
          "closedOnDeparture" : false,
          "currencyCode" : "THB",
          "deltaQuantity" : 1,
          "extraChildRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "extraPaxRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "idempotencyKey" : "booking-f4d1c8e5-2b9a:CREATED",
          "master" : true,
          "maxLengthOfStay" : 30,
          "minLengthOfStay" : 2,
          "quantity" : 5,
          "rate" : 450.0,
          "singleOccupancyRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          }
        },
        "properties" : {
          "closedOnArrival" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether the property is closed on arrival for this date",
            "example" : false
          },
          "closedOnDeparture" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether the property is closed on departure for this date",
            "example" : false
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for this rate",
            "example" : "THB",
            "pattern" : "^[A-Z]{3}$"
          },
          "deltaQuantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Relative change to room availability (add/subtract). Use with idempotencyKey to prevent duplicate adjustments.",
            "example" : 1
          },
          "extraChildRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "Rate modifier (fixed amount or percentage) for extra child guests"
          },
          "extraPaxRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "Rate modifier (fixed amount or percentage) for extra adult guests"
          },
          "idempotencyKey" : {
            "type" : "string",
            "description" : "Idempotency key to prevent duplicate inventory adjustments when using deltaQuantity (e.g., 'booking123:CREATED')",
            "example" : "booking-f4d1c8e5-2b9a:CREATED"
          },
          "master" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this rate is available for booking on this date",
            "example" : true
          },
          "maxLengthOfStay" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum length of stay allowed for arrivals on this date, in days. -1 means no maximum.",
            "example" : 30
          },
          "minLengthOfStay" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum length of stay required for arrivals on this date, in days. -1 means no minimum.",
            "example" : 2
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Absolute number of available rooms for this date. Set this OR deltaQuantity, not both.",
            "example" : 5
          },
          "rate" : {
            "type" : "number",
            "description" : "Nightly rate amount (base rate)",
            "example" : 450.0
          },
          "singleOccupancyRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "Rate modifier (fixed amount or percentage) for single occupancy bookings"
          }
        }
      },
      "VariableCharge_Supplier" : {
        "type" : "object",
        "example" : {
          "fixedAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "percent" : 0.25,
          "type" : "PERCENTAGE"
        },
        "properties" : {
          "fixedAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "A localized amount, always non-negative. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value."
          },
          "percent" : {
            "type" : "number",
            "format" : "float",
            "description" : "A fraction between 0 and 1 (inclusive) representing a percentage of the total stay amount for an early check-in or late check-out, e.g. 0.25 for 25%. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value.",
            "example" : 0.25,
            "maximum" : 1.0,
            "minimum" : 0.0
          },
          "type" : {
            "type" : "string",
            "description" : "When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.",
            "enum" : [ "FIXED", "PERCENTAGE" ],
            "example" : "PERCENTAGE"
          }
        },
        "required" : [ "type" ]
      },
      "RateLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a single rate date, used by consumers outside the rate module.",
        "example" : {
          "closedOnArrival" : false,
          "closedOnDeparture" : false,
          "currencyCode" : "THB",
          "day" : 14,
          "extraChildRateModifier" : {
            "percent" : 0.15,
            "type" : "PERCENTAGE"
          },
          "extraPaxRateModifier" : {
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "guestRoomIdentifier" : "4b7e2c9a-6f1d-4a0b-8c3e-5d2f9b1a7c84",
          "hotelIdentifier" : "7d4f2a1b-3e8c-4b0d-a5f9-1c2e6b4d8f07",
          "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "master" : true,
          "maxLengthOfStay" : 30,
          "minLengthOfStay" : 2,
          "month" : 1,
          "quantity" : 9,
          "rate" : 4500.0,
          "ratePlanIdentifier" : "9a2d5e8c-1f4b-4c7a-b3e6-2d0f8a5c3e91",
          "rateSource" : "NONE",
          "singleOccupancyRateModifier" : {
            "percent" : 0.8,
            "type" : "PERCENTAGE"
          },
          "year" : 2026
        },
        "properties" : {
          "available" : {
            "type" : "boolean"
          },
          "closedOnArrival" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether guests cannot check in on this date (Closed on Arrival)",
            "example" : false
          },
          "closedOnDeparture" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether guests cannot check out on this date (Closed on Departure)",
            "example" : false
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for this rate",
            "example" : "THB",
            "pattern" : "^[A-Z]{3}$"
          },
          "day" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Day of the month (1-31)",
            "example" : 14
          },
          "extraChildRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "Rate modifier (fixed amount or percentage) for extra child guests"
          },
          "extraPaxRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "Rate modifier (fixed amount or percentage) for extra adult guests"
          },
          "guestRoomIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Guest room (room type) identifier for this rate",
            "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
            "minLength" : 1
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property identifier that owns this daily rate",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique document identifier (UUID)",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "master" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this rate is available for booking on this date",
            "example" : true
          },
          "maxLengthOfStay" : {
            "type" : "integer",
            "format" : "int32",
            "default" : -1,
            "description" : "Maximum length of stay (in days) allowed for guests arriving on this date. -1 means no maximum.",
            "example" : 30
          },
          "minLengthOfStay" : {
            "type" : "integer",
            "format" : "int32",
            "default" : -1,
            "description" : "Minimum length of stay (in days) required for guests arriving on this date. -1 means no minimum.",
            "example" : 2
          },
          "month" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Month of the year (1-12)",
            "example" : 1
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of available rooms for this date",
            "example" : 9
          },
          "rate" : {
            "type" : "number",
            "description" : "Nightly rate amount in the specified currency",
            "example" : 450.0
          },
          "ratePlanIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Rate plan identifier for pricing controls and restrictions",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "rateSource" : {
            "type" : "string",
            "default" : "NONE",
            "description" : "Source of the rate update. NONE indicates property-managed rates; other values indicate channel manager origins.",
            "example" : "NONE",
            "minLength" : 1
          },
          "singleOccupancyRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "Rate modifier (fixed amount or percentage) for single occupancy bookings"
          },
          "year" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Year in ISO format",
            "example" : 2026
          }
        },
        "required" : [ "closedOnArrival", "closedOnDeparture", "currencyCode", "guestRoomIdentifier", "hotelIdentifier", "master", "rate", "ratePlanIdentifier", "rateSource" ]
      },
      "DowPatternGroup_Supplier" : {
        "type" : "object",
        "example" : {
          "disabled" : true,
          "fri" : true,
          "mon" : true,
          "sat" : true,
          "sun" : true,
          "thu" : true,
          "tue" : true,
          "wed" : true
        },
        "properties" : {
          "disabled" : {
            "type" : "boolean",
            "description" : "Convenience property to quickly determine if this existing object has any active days enabled.",
            "example" : true
          },
          "fri" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Friday.",
            "example" : true
          },
          "mon" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Monday.",
            "example" : true
          },
          "sat" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Saturday.",
            "example" : true
          },
          "sun" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Sunday.",
            "example" : true
          },
          "thu" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Thursday.",
            "example" : true
          },
          "tue" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Tuesday.",
            "example" : true
          },
          "wed" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Wednesday.",
            "example" : true
          }
        }
      },
      "LocalizedDescription_Supplier" : {
        "type" : "object",
        "description" : "Simplified localized description containing text content and its language code.",
        "example" : {
          "creator" : "USER",
          "description" : "This is a longer description in the specified language.",
          "language" : "en",
          "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
        },
        "properties" : {
          "creator" : {
            "type" : "string",
            "default" : "USER",
            "description" : "Whether it was user or system generated.",
            "enum" : [ "SYSTEM", "USER" ],
            "example" : "SYSTEM"
          },
          "description" : {
            "type" : "string",
            "description" : "Longer text description",
            "example" : "This is a longer description in the specified language.",
            "maxLength" : 2147483647,
            "minLength" : 1
          },
          "hashMismatch" : {
            "type" : "boolean",
            "readOnly" : true
          },
          "language" : {
            "type" : "string",
            "default" : "en",
            "description" : "Indicate which language this description is written in.",
            "example" : "en",
            "maxLength" : 2,
            "minLength" : 2,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "md5ContentHash" : {
            "type" : "string",
            "description" : "The md5 hash of the name, description and language.",
            "example" : "d41d8cd98f00b204e9800998ecf8427e"
          }
        },
        "required" : [ "description", "language" ]
      },
      "RatePlanLevelFee_Supplier" : {
        "type" : "object",
        "description" : "An additional fee attached to a rate plan, such as a resort facility fee, cleaning fee, or parking fee. The fee amount and how it is charged (per day, per stay, per person, etc.) are defined per fee entry.",
        "example" : {
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "fixedAmount" : 450.0,
          "type" : "PER_DAY"
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions of this fee in multiple languages. At least one entry in English is required.",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_Supplier"
            },
            "minItems" : 1
          },
          "fixedAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "The fixed fee amount in the property's local currency.",
            "example" : 450.0
          },
          "type" : {
            "type" : "string",
            "description" : "How this fee is charged: per day, per stay, per person per day, or per person per stay.",
            "enum" : [ "PER_DAY", "PER_STAY", "PER_PERSON_PER_DAY", "PER_PERSON_PER_STAY" ],
            "example" : "PER_DAY"
          }
        },
        "required" : [ "descriptions", "fixedAmount", "type" ]
      },
      "UpsertCancellationPolicyException_Supplier" : {
        "type" : "object",
        "description" : "Request payload for creating or updating a single date-range exception that overrides the default cancellation policy for a property",
        "example" : {
          "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "endDate" : "2026-12-31",
          "startDate" : "2026-01-14"
        },
        "properties" : {
          "cancellationPolicyIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Cancellation policy identifier",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "End date for when this cancellation policy should end overriding the default cancellation policy.",
            "example" : "2026-12-31"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start date for when this cancellation policy should start to override the default cancellation policy.",
            "example" : "2026-01-14"
          }
        },
        "required" : [ "cancellationPolicyIdentifier", "endDate", "startDate" ]
      },
      "UpsertCancellationPolicyExceptions_Supplier" : {
        "type" : "object",
        "description" : "Request payload for creating or replacing the full set of date-range cancellation policy exceptions on a property",
        "example" : {
          "list" : [ {
            "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "endDate" : "2026-12-31",
            "startDate" : "2026-01-14"
          } ]
        },
        "properties" : {
          "list" : {
            "type" : "array",
            "description" : "List of cancellation policy exceptions to create or replace",
            "items" : {
              "$ref" : "#/components/schemas/UpsertCancellationPolicyException_Supplier"
            },
            "maxItems" : 2147483647,
            "minItems" : 1
          }
        },
        "required" : [ "list" ]
      },
      "UpsertRatePlanRequest_Supplier" : {
        "type" : "object",
        "example" : {
          "allInclusive" : false,
          "allInclusivePlusAlcohol" : false,
          "arrivalDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "availableDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "breakfast" : false,
          "brunch" : false,
          "cancellationPolicyExceptions" : {
            "list" : [ {
              "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "endDate" : "2026-12-31",
              "startDate" : "2026-01-14"
            } ]
          },
          "cancellationPolicyIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "departureDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "dinner" : false,
          "earlyCheckInCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "enabled" : false,
          "extraChildRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "extraPaxRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "lateCheckOutCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "loyaltyPointsAccrue" : false,
          "lunch" : false,
          "maxAdvanceBookingOffset" : 180,
          "maxAge" : 65,
          "maxLOS" : 30,
          "maxTotalOccupancy" : 4,
          "minAdvanceBookingOffset" : 3,
          "minAge" : 18,
          "minLOS" : 1,
          "minTotalOccupancy" : 1,
          "name" : "Best Available Rate",
          "prepaid" : false,
          "ratePlanLevelFees" : [ {
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "fixedAmount" : 450.0,
            "type" : "PER_DAY"
          } ],
          "requiredDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "sellEndDate" : "2026-12-31",
          "sellStartDate" : "2026-01-15",
          "singleOccupancyRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "stayEndDate" : "2026-12-31",
          "stayStartDate" : "2026-01-15"
        },
        "properties" : {
          "allInclusive" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included except alcohol",
            "example" : false
          },
          "allInclusivePlusAlcohol" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included with alcohol",
            "example" : false
          },
          "arrivalDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Days of the week on which guests are allowed to check in. If null, arrivals are permitted on any day."
          },
          "availableDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Days of the week when this rate plan is available for booking. If null, the rate plan is available on all days."
          },
          "breakfast" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates breakfast is included.",
            "example" : false
          },
          "brunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates brunch is included.",
            "example" : false
          },
          "cancellationPolicyExceptions" : {
            "$ref" : "#/components/schemas/UpsertCancellationPolicyExceptions_Supplier",
            "description" : "Optional overrides of the cancellation policy for specific date ranges. Allows a property to apply different cancellation terms during peak seasons, events, or special periods. Leave null for no date-specific exceptions."
          },
          "cancellationPolicyIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier of the cancellation policy governing refunds and cancellations for this rate plan.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "departureDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Days of the week on which guests are allowed to check out. If null, departures are permitted on any day."
          },
          "dinner" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates dinner is included.",
            "example" : false
          },
          "earlyCheckInCharge" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "A pricing modifier for guests checking in early. May include a surcharge or credit. If null, no early check-in charge applies."
          },
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether rate plan is active or not.",
            "example" : false
          },
          "extraChildRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "A pricing modifier applied for each additional child guest. Typically used for child discounts or family rate adjustments. Leave null for no extra child adjustment."
          },
          "extraPaxRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "A pricing modifier applied for each additional adult guest beyond the base occupancy. For example, a per-person surcharge for extra occupants. Leave null for no extra adult adjustment."
          },
          "lateCheckOutCharge" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "A pricing modifier for guests staying late after standard checkout time. May include a surcharge or credit. If null, no late check-out charge applies."
          },
          "loyaltyPointsAccrue" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, guests earn loyalty points toward the property's loyalty program with this rate plan. When false, this rate plan does not accrue points.",
            "example" : false
          },
          "lunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates lunch is included.",
            "example" : false
          },
          "maxAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of days in advance a guest may book this rate plan. For example, 180 allows bookings up to 6 months ahead. Leave null for no maximum advance booking window.",
            "example" : 180
          },
          "maxAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum guest age allowed for this rate plan, typically used for family or age-restricted rates. Leave null for no maximum age restriction.",
            "example" : 65
          },
          "maxLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum consecutive nights allowed for a booking under this rate plan. For example, 30 caps bookings at 30 nights. Leave null for no maximum stay limit.",
            "example" : 30
          },
          "maxTotalOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of guests allowed under this rate plan. Leave null for no maximum occupancy limit.",
            "example" : 4
          },
          "minAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of days in advance a guest must book this rate plan. For example, 3 requires booking at least 3 days before arrival. Leave null for no minimum advance booking requirement.",
            "example" : 3
          },
          "minAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum guest age required to book this rate plan, typically used for senior discounts or adult-only rates. Leave null for no minimum age requirement.",
            "example" : 18
          },
          "minLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum consecutive nights required for a booking under this rate plan. For example, 2 requires a minimum 2-night stay. Leave null for no minimum stay requirement.",
            "example" : 1
          },
          "minTotalOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of guests required to qualify for this rate plan. Leave null for no minimum occupancy requirement.",
            "example" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "A descriptive name for this rate plan, such as 'Best Available Rate', 'Non-Refundable', or 'Corporate Rate'.",
            "example" : "Best Available Rate",
            "minLength" : 1
          },
          "prepaid" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates if the rate is a prepaid rate.",
            "example" : false
          },
          "ratePlanLevelFees" : {
            "type" : "array",
            "description" : "Additional fees applied to this rate plan, such as resort facilities fees, parking fees, or cleaning charges. Fees can be charged per day, per stay, per person, or combinations thereof.",
            "items" : {
              "$ref" : "#/components/schemas/RatePlanLevelFee_Supplier"
            }
          },
          "requiredDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Days of the week on which at least one night must fall within the stay. Useful for rates requiring weekend stays or specific weekday requirements. If null, no specific day-of-week stay requirements apply."
          },
          "sellEndDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date on which this rate plan is no longer available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range. Leave null for no end restriction.",
            "example" : "2026-12-31"
          },
          "sellStartDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date on which this rate plan becomes available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range. Leave null for no start restriction.",
            "example" : "2026-01-15"
          },
          "singleOccupancyRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "A pricing modifier applied when a single guest books this rate plan. For example, a 10% discount for solo travelers. Leave null for no single occupancy adjustment."
          },
          "stayEndDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The latest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range. Leave null for no end restriction.",
            "example" : "2026-12-31"
          },
          "stayStartDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The earliest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range. Leave null for no start restriction.",
            "example" : "2026-01-15"
          }
        },
        "required" : [ "allInclusive", "allInclusivePlusAlcohol", "breakfast", "brunch", "cancellationPolicyIdentifier", "dinner", "enabled", "loyaltyPointsAccrue", "lunch", "name", "prepaid" ]
      },
      "CancellationPolicyException_Supplier" : {
        "type" : "object",
        "example" : {
          "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "endDate" : "2026-12-31",
          "startDate" : "2026-01-14"
        },
        "properties" : {
          "cancellationPolicy" : {
            "$ref" : "#/components/schemas/CancellationPolicyRef_Supplier",
            "description" : "Cancellation policy details for this exception"
          },
          "cancellationPolicyIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Cancellation policy identifier",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "End date for when this cancellation policy should end overriding the default cancellation policy.",
            "example" : "2026-12-31"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start date for when this cancellation policy should start to override the default cancellation policy.",
            "example" : "2026-01-14"
          }
        },
        "required" : [ "cancellationPolicy", "cancellationPolicyIdentifier", "endDate", "startDate" ]
      },
      "CancellationPolicyExceptions_Supplier" : {
        "type" : "object",
        "description" : "Container holding the list of date-range exceptions that override the default cancellation policy for a property",
        "example" : {
          "list" : [ {
            "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "endDate" : "2026-12-31",
            "startDate" : "2026-01-14"
          } ]
        },
        "properties" : {
          "list" : {
            "type" : "array",
            "description" : "List of cancellation policy exceptions",
            "items" : {
              "$ref" : "#/components/schemas/CancellationPolicyException_Supplier"
            },
            "minItems" : 1
          }
        },
        "required" : [ "list" ]
      },
      "CancellationPolicyLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight view of a cancellation policy containing all refundability rules and charge details, suitable for embedding in other documents",
        "example" : {
          "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
          "createdDate" : "2026-01-14T09:30:00",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
          "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
          "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
          "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
          "refundable" : false,
          "refundableCancellationCharge" : "FIFTY_PERCENT",
          "version" : 3
        },
        "properties" : {
          "advanceCancellationFreeOfCharge" : {
            "type" : "string",
            "description" : "When the cancellation policy is refundable, this flag can be set and indicates there is more rules involved than just a no-questions-asked refundable.",
            "enum" : [ "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "UNTIL_FOURTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ],
            "example" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL"
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property this cancellation is associated with",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "noShowCharge" : {
            "type" : "string",
            "description" : "In case the 'Refundable cancellation charge' is set, a different no show charge can be applied.",
            "enum" : [ "SAME_AS_CANCELLATION_FEE", "ONE_HUNDRED_PERCENT_OF_TOTAL_CHARGE" ],
            "example" : "SAME_AS_CANCELLATION_FEE"
          },
          "nonRefundableAfterDeadlineCancellationCharge" : {
            "type" : "string",
            "description" : "If the guest does not honor the non-refundable deadline rule, this charge dictates what she owes after the deadline passes.",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT", "ONE_HUNDRED_PERCENT" ],
            "example" : "ONE_HUNDRED_PERCENT"
          },
          "nonRefundableCancellationCharge" : {
            "type" : "string",
            "description" : "When the cancellation policy is non-refundable, this flag can be set and indicates there is more rules involved to calculate what the guest will owe in case of a cancellation.",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT" ],
            "example" : "SEVENTY_PERCENT"
          },
          "nonRefundableDeadline" : {
            "type" : "string",
            "description" : "The non-refundable charge might can have a deadline. If that deadline passes, the guest might be charged more.",
            "enum" : [ "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ],
            "example" : "SEVEN_DAYS_BEFORE_ARRIVAL"
          },
          "policyCode" : {
            "type" : "string"
          },
          "refundable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether this cancellation policy is refundable or not",
            "example" : false
          },
          "refundableCancellationCharge" : {
            "type" : "string",
            "description" : "If advanceCancellationFreeOfCharge rules is not honored, this property explains what the guest will be charged.",
            "enum" : [ "FIRST_NIGHT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SIXTY_PERCENT", "SEVENTY_PERCENT", "NINETY_PERCENT", "ONE_HUNDRED_PERCENT" ],
            "example" : "FIFTY_PERCENT"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "hotelIdentifier", "id", "refundable" ]
      },
      "CancellationPolicyRef_Supplier" : {
        "type" : "object",
        "properties" : {
          "advanceCancellationFreeOfCharge" : {
            "type" : "string",
            "description" : "Advance notice window within which a cancellation is free of charge",
            "enum" : [ "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "UNTIL_FOURTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ]
          },
          "hotelIdentifier" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          },
          "noShowCharge" : {
            "type" : "string",
            "description" : "Fee structure applied when a guest fails to show up without cancelling",
            "enum" : [ "SAME_AS_CANCELLATION_FEE", "ONE_HUNDRED_PERCENT_OF_TOTAL_CHARGE" ]
          },
          "nonRefundableAfterDeadlineCancellationCharge" : {
            "type" : "string",
            "description" : "Penalty charge applied when a non-refundable booking is cancelled after the deadline",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT", "ONE_HUNDRED_PERCENT" ]
          },
          "nonRefundableCancellationCharge" : {
            "type" : "string",
            "description" : "Charge applied for cancelling a non-refundable rate",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT" ]
          },
          "nonRefundableDeadline" : {
            "type" : "string",
            "description" : "Deadline before arrival after which a booking becomes non-refundable",
            "enum" : [ "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ]
          },
          "refundable" : {
            "type" : "boolean"
          },
          "refundableCancellationCharge" : {
            "type" : "string",
            "description" : "Charge retained when a refundable booking is cancelled",
            "enum" : [ "FIRST_NIGHT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SIXTY_PERCENT", "SEVENTY_PERCENT", "NINETY_PERCENT", "ONE_HUNDRED_PERCENT" ]
          }
        }
      },
      "RatePlanLightweight_Supplier" : {
        "type" : "object",
        "example" : {
          "allInclusive" : false,
          "allInclusivePlusAlcohol" : false,
          "arrivalDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "availableDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "breakfast" : false,
          "brunch" : false,
          "cancellationPolicy" : {
            "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
            "createdDate" : "2026-01-14T09:30:00",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
            "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
            "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
            "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
            "refundable" : false,
            "refundableCancellationCharge" : "FIFTY_PERCENT",
            "version" : 3
          },
          "cancellationPolicyExceptions" : {
            "list" : [ {
              "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "endDate" : "2026-12-31",
              "startDate" : "2026-01-14"
            } ]
          },
          "createdDate" : "2026-01-14T09:30:00",
          "departureDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "dinner" : false,
          "earlyCheckInCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "enabled" : false,
          "extraChildRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "extraPaxRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lateCheckOutCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "loyaltyPointsAccrue" : false,
          "lunch" : false,
          "maxAdvanceBookingOffset" : 180,
          "maxAge" : 65,
          "maxLOS" : 30,
          "maxTotalOccupancy" : 4,
          "minAdvanceBookingOffset" : 3,
          "minAge" : 18,
          "minLOS" : 1,
          "minTotalOccupancy" : 1,
          "name" : "Best Available Rate",
          "prepaid" : false,
          "ratePlanLevelFees" : [ {
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "fixedAmount" : 450.0,
            "type" : "PER_DAY"
          } ],
          "requiredDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "sellEndDate" : "2026-12-31",
          "sellStartDate" : "2026-01-15",
          "singleOccupancyRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "stayEndDate" : "2026-12-31",
          "stayStartDate" : "2026-01-15",
          "version" : 3
        },
        "properties" : {
          "allInclusive" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included except alcohol",
            "example" : false
          },
          "allInclusivePlusAlcohol" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included with alcohol",
            "example" : false
          },
          "arrivalDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Days of the week on which guests are allowed to check in. If null, arrivals are permitted on any day."
          },
          "availableDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Days of the week when this rate plan is available for booking. If null, the rate plan is available on all days."
          },
          "breakfast" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates breakfast is included.",
            "example" : false
          },
          "brunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates brunch is included.",
            "example" : false
          },
          "cancellationPolicy" : {
            "$ref" : "#/components/schemas/CancellationPolicyLightweight_Supplier",
            "description" : "The cancellation policy that governs refunds and cancellations for this rate plan."
          },
          "cancellationPolicyExceptions" : {
            "$ref" : "#/components/schemas/CancellationPolicyExceptions_Supplier",
            "description" : "Optional overrides of the cancellation policy for specific date ranges. Allows a property to apply different cancellation terms during peak seasons, events, or special periods. Leave null for no date-specific exceptions."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "departureDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Days of the week on which guests are allowed to check out. If null, departures are permitted on any day."
          },
          "dinner" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates dinner is included.",
            "example" : false
          },
          "earlyCheckInCharge" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "A pricing modifier for guests checking in early. May include a surcharge or credit. If null, no early check-in charge applies."
          },
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether rate plan is active or not.",
            "example" : false
          },
          "extraChildRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "A pricing modifier applied for each additional child guest. Typically used for child discounts or family rate adjustments. If null, no extra child adjustment applies."
          },
          "extraPaxRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "A pricing modifier applied for each additional adult guest beyond the base occupancy. For example, a per-person surcharge for extra occupants. If null, no extra adult adjustment applies."
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The property (managing entity) that owns this rate plan.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lateCheckOutCharge" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "A pricing modifier for guests staying late after standard checkout time. May include a surcharge or credit. If null, no late check-out charge applies."
          },
          "loyaltyPointsAccrue" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, guests earn loyalty points toward the property's loyalty program with this rate plan. When false, this rate plan does not accrue points.",
            "example" : false
          },
          "lunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates lunch is included.",
            "example" : false
          },
          "maxAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of days in advance a guest may book this rate plan. For example, 180 allows bookings up to 6 months ahead.",
            "example" : 180
          },
          "maxAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum guest age allowed for this rate plan, typically used for family or age-restricted rates.",
            "example" : 65
          },
          "maxLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum consecutive nights allowed for a booking under this rate plan. For example, 30 caps bookings at 30 nights.",
            "example" : 30
          },
          "maxTotalOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of guests allowed under this rate plan.",
            "example" : 4
          },
          "minAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of days in advance a guest must book this rate plan. For example, 3 requires booking at least 3 days before arrival.",
            "example" : 3
          },
          "minAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum guest age required to book this rate plan, typically used for senior discounts or adult-only rates.",
            "example" : 18
          },
          "minLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum consecutive nights required for a booking under this rate plan. For example, 2 requires a minimum 2-night stay.",
            "example" : 1
          },
          "minTotalOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of guests required to qualify for this rate plan.",
            "example" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "A descriptive name for this rate plan, such as 'Best Available Rate', 'Non-Refundable', or 'Corporate Rate'.",
            "example" : "Best Available Rate",
            "minLength" : 1
          },
          "prepaid" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates if the rate is a prepaid rate.",
            "example" : false
          },
          "ratePlanLevelFees" : {
            "type" : "array",
            "description" : "Additional fees applied to this rate plan, such as resort facilities fees, parking fees, or cleaning charges. Fees can be charged per day, per stay, per person, or combinations thereof.",
            "items" : {
              "$ref" : "#/components/schemas/RatePlanLevelFee_Supplier"
            }
          },
          "requiredDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Days of the week on which at least one night must fall within the stay. Useful for rates requiring weekend stays or specific weekday requirements. If null, no specific day-of-week stay requirements apply."
          },
          "sellEndDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date on which this rate plan is no longer available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range.",
            "example" : "2026-12-31"
          },
          "sellStartDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date on which this rate plan becomes available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range.",
            "example" : "2026-01-15"
          },
          "singleOccupancyRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "A pricing modifier applied when a single guest books this rate plan. For example, a 10% discount for solo travelers. If null, no single occupancy adjustment applies."
          },
          "stayEndDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The latest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range.",
            "example" : "2026-12-31"
          },
          "stayStartDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The earliest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range.",
            "example" : "2026-01-15"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "allInclusive", "allInclusivePlusAlcohol", "breakfast", "brunch", "dinner", "enabled", "hotelIdentifier", "id", "lunch", "name", "prepaid" ]
      },
      "UpsertRecognition_Supplier" : {
        "type" : "object",
        "example" : {
          "category" : "AWARD",
          "date" : "2020-10-24",
          "maxRating" : 10,
          "officialAppointmentInd" : true,
          "provider" : "Michelin",
          "rating" : 8.5,
          "ratingSymbol" : "*",
          "type" : "PERCENT_RATING"
        },
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Recognition category.",
            "enum" : [ "THIRD_PARTY_REVIEW", "PUBLICATION", "AWARD" ],
            "example" : "AWARD"
          },
          "date" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date the award was received",
            "example" : "2020-10-24"
          },
          "maxRating" : {
            "type" : "number",
            "format" : "float",
            "description" : "Use this to let hotels indicate what the total score for this award is.",
            "example" : 10
          },
          "officialAppointmentInd" : {
            "type" : "boolean",
            "description" : "When true, this indicates the property has received official permission from the award provider to use the rating in publications and marketing materials; when false this permission has not been granted.",
            "example" : true
          },
          "provider" : {
            "type" : "string",
            "description" : "The name of the entity that administers this recognition.",
            "example" : "Michelin",
            "minLength" : 1
          },
          "rating" : {
            "type" : "number",
            "format" : "float",
            "description" : "The actual award or rating received by the hotel facility.",
            "example" : 8.5,
            "minimum" : 0.0
          },
          "ratingSymbol" : {
            "type" : "string",
            "description" : "Provides the symbol used in the rating. Used in conjunction with the Rating.",
            "example" : "*"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of rating system the recognition operated on. This allows us to display the score properly.",
            "enum" : [ "STAR_RATING", "NUMERIC_RATING", "PERCENT_RATING" ],
            "example" : "PERCENT_RATING"
          }
        },
        "required" : [ "category", "provider", "rating", "type" ]
      },
      "CountryLightweight_Supplier" : {
        "type" : "object",
        "description" : "Country",
        "example" : "{\n  \"iso\": \"TH\",\n  \"iso3\": \"THA\",\n  \"isoNumeric\": 764,\n  \"fips\": \"TH\",\n  \"name\": \"Thailand\",\n  \"capital\": \"Bangkok\",\n  \"area\": 514000.0,\n  \"population\": 69428524,\n  \"continent\": \"AS\",\n  \"topLevelDomain\": \".th\",\n  \"currencyCode\": \"THB\",\n  \"currencyName\": \"Baht\",\n  \"phone\": \"66\",\n  \"postalCodeFormat\": \"#####\",\n  \"postalCodeRegEx\": \"^(\\d{5})$\",\n  \"languages\": [\"th\"],\n  \"geoNameId\": \"1605651\",\n  \"neighbors\": [\"LA\", \"MM\", \"KH\", \"MY\"]\n}",
        "properties" : {
          "capital" : {
            "type" : "string",
            "description" : "Country capital",
            "example" : "Washington"
          },
          "continent" : {
            "type" : "string",
            "description" : "Continent code",
            "example" : "NA"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "currencyName" : {
            "type" : "string",
            "description" : "Currency name",
            "example" : "Dollar"
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "Country GeoNames identifier",
            "example" : "6252001"
          },
          "iso" : {
            "type" : "string",
            "description" : "ISO code",
            "example" : "US"
          },
          "name" : {
            "type" : "string",
            "description" : "Country name",
            "example" : "United States"
          }
        }
      },
      "GeneralManager_Supplier" : {
        "type" : "object",
        "description" : "General manager related data.",
        "example" : {
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "image" : {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          },
          "name" : "Jane Doe"
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized welcome message from GM.",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_Supplier"
            }
          },
          "image" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_Supplier",
            "description" : "Profile image of the general manager."
          },
          "name" : {
            "type" : "string",
            "description" : "Name of GM currently managing the property.",
            "example" : "Jane Doe"
          }
        },
        "required" : [ "name" ]
      },
      "GeoJsonPoint_Supplier" : {
        "type" : "object",
        "properties" : {
          "coordinates" : {
            "type" : "array",
            "items" : {
              "type" : "number",
              "format" : "double"
            }
          },
          "type" : {
            "type" : "string"
          },
          "x" : {
            "type" : "number",
            "format" : "double"
          },
          "y" : {
            "type" : "number",
            "format" : "double"
          }
        }
      },
      "GeoNameLightweight_Supplier" : {
        "type" : "object",
        "description" : "GeoNames have been created at [https://geonames.org](https://geonames.org) and contain geographical destinations we use as geoname data to associate travel inventory with a location.",
        "example" : {
          "admin1Code" : "40",
          "admin2Code" : "2401",
          "admin3Code" : "",
          "admin4Code" : "",
          "alternateCountryCodes" : [ ],
          "alternateNames" : [ "Krung Thep", "BKK" ],
          "asciiName" : "Bangkok",
          "country" : {
            "area" : 514000.0,
            "capital" : "Bangkok",
            "continent" : "AS",
            "currencyCode" : "THB",
            "currencyName" : "Baht",
            "fips" : "TH",
            "geoNameId" : "1605651",
            "iso" : "TH",
            "iso3" : "THA",
            "isoNumeric" : 764,
            "languages" : [ "th" ],
            "name" : "Thailand",
            "neighbors" : [ "LA", "MM", "KH", "MY" ],
            "phone" : "66",
            "population" : 69428524,
            "postalCodeFormat" : "#####",
            "postalCodeRegEx" : "^(\\d{5})$",
            "topLevelDomain" : ".th"
          },
          "countryCode" : "TH",
          "digitalElevationModel" : "3",
          "elevation" : 5,
          "featureClass" : "P",
          "featureCode" : "PPLC",
          "geoNameId" : "1609350",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "modificationDate" : "2023-06-15",
          "name" : "Bangkok",
          "population" : 10539415,
          "radiusInMeters" : 50000,
          "subCountry" : {
            "asciiName" : "Bangkok",
            "code" : "TH.40",
            "countryCode" : "TH",
            "geoNameId" : "1609350",
            "name" : "Bangkok",
            "subCountryCode" : "40"
          },
          "subSubCountry" : {
            "asciiName" : "Bangkok District",
            "code" : "TH.40.2401",
            "countryCode" : "TH",
            "geoNameId" : "1609352",
            "name" : "Bangkok District",
            "subCountryCode" : "40",
            "subSubCountryCode" : "2401"
          },
          "timezone" : "Asia/Bangkok",
          "type" : "CITY",
          "urlName" : "bangkok-thailand"
        },
        "properties" : {
          "asciiName" : {
            "type" : "string",
            "description" : "Ascii name of city",
            "example" : "New York City"
          },
          "country" : {
            "$ref" : "#/components/schemas/CountryLightweight_Supplier",
            "description" : "Country",
            "example" : "TH"
          },
          "countryCode" : {
            "type" : "string",
            "description" : "ISO 3166-1 alpha-2 country code for the country this location belongs to",
            "example" : "TH",
            "pattern" : "^[A-Z]{2}$"
          },
          "featureCode" : {
            "type" : "string",
            "description" : "GeoNames specific feature code identifying the place type (e.g. PPL=populated place, PPLC=national capital, ISL=island)",
            "example" : "PPLA"
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "GeoName identifier",
            "example" : "5128581"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Coordinate points of the city",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Name of city",
            "example" : "New York City"
          },
          "subCountry" : {
            "$ref" : "#/components/schemas/SubCountryLightweight_Supplier",
            "description" : "Country sub division",
            "example" : "NY"
          },
          "subSubCountry" : {
            "$ref" : "#/components/schemas/SubSubCountryLightweight_Supplier",
            "description" : "Country sub sub division",
            "example" : "New York County"
          },
          "timezone" : {
            "type" : "string",
            "description" : "IANA timezone identifier for the location",
            "example" : "America/New_York"
          },
          "type" : {
            "type" : "string",
            "description" : "GeoNameLightweight type",
            "enum" : [ "CITY", "ISLAND", "OTHER" ],
            "example" : "CITY"
          },
          "urlName" : {
            "type" : "string",
            "description" : "Url name",
            "example" : "new-york-city-united-states",
            "pattern" : "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
          }
        }
      },
      "KeyValuePair_Supplier" : {
        "type" : "object",
        "description" : "Immutable key-value pair associating a machine-readable value with a human-readable label.",
        "example" : {
          "label" : "Hotel & Resort",
          "value" : "HOTEL"
        },
        "properties" : {
          "label" : {
            "type" : "string",
            "description" : "English readable text of the value.",
            "example" : "Readable text label",
            "minLength" : 1
          },
          "value" : {
            "type" : "string",
            "description" : "The value that should be persisted.",
            "example" : "id-1",
            "minLength" : 1
          }
        },
        "required" : [ "label", "value" ]
      },
      "ManagedByEntityRules_Supplier" : {
        "type" : "object",
        "description" : "Optional expiry rules controlling how long a managed-by relationship is valid, based on date or remaining booking quota.",
        "example" : {
          "expires" : "2026-01-15",
          "numBookings" : 5
        },
        "properties" : {
          "expires" : {
            "type" : "string",
            "format" : "date",
            "description" : "Optional expiration date when agency is no longer managing this entity.",
            "example" : "2026-01-15"
          },
          "nonExpired" : {
            "type" : "boolean",
            "description" : "Whether managing entity rules has expired.",
            "readOnly" : true
          },
          "numBookings" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Optional total number of bookings [left] the agency is entitled to commission. This number will decrement every time a booking is made with this agency involved.",
            "example" : 5
          }
        }
      },
      "ManagedByEntity_Supplier" : {
        "type" : "object",
        "description" : "Represents an agency or managing company that manages this entity on behalf of the property, and is entitled to a commission on bookings.",
        "example" : {
          "commissionInPercent" : 0.01,
          "identifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "name" : "Agency X",
          "rules" : {
            "expires" : "2026-01-15",
            "numBookings" : 5
          }
        },
        "properties" : {
          "commissionInPercent" : {
            "type" : "number",
            "description" : "Agency commission",
            "example" : 0.01
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Entity identifier",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Name of entity",
            "example" : "Agency X",
            "minLength" : 1
          },
          "rules" : {
            "$ref" : "#/components/schemas/ManagedByEntityRules_Supplier",
            "description" : "Optional rules for expiration date etc when agency is no longer managing this entity."
          },
          "valid" : {
            "type" : "boolean",
            "description" : "Whether managing entity is eligible a commission.",
            "readOnly" : true
          }
        },
        "required" : [ "commissionInPercent", "identifier", "name" ]
      },
      "ManagingEntityManager_Supplier" : {
        "type" : "object",
        "description" : "A team member of a managing entity account, with their invitation/activation status, contact details, and per-section access grants.",
        "example" : {
          "email" : "reservations@thesiamresidences.com",
          "firstName" : "Alexandra",
          "lastName" : "Beaumont",
          "owner" : false,
          "phoneNumber" : "+66 2 126 8866",
          "profilePicture" : {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          },
          "secondaryEmail" : "alex.beaumont+alt@example.com",
          "sectionGrants" : [ {
            "level" : "WRITE",
            "section" : "BOOKING"
          } ],
          "status" : "ACCEPTED",
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        },
        "properties" : {
          "active" : {
            "type" : "boolean"
          },
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Email address of the managing entity team member.",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name of the team member.",
            "example" : "Alexandra"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name of the team member.",
            "example" : "Beaumont"
          },
          "name" : {
            "type" : "string"
          },
          "owner" : {
            "type" : "boolean",
            "description" : "Account owner",
            "example" : false
          },
          "phoneNumber" : {
            "type" : "string",
            "description" : "Phone number for contacting the team member.",
            "example" : "+66 2 126 8866",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "profilePicture" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_Supplier",
            "description" : "Profile picture is available"
          },
          "secondaryEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Secondary/alternative email address for the team member.",
            "example" : "alex.beaumont+alt@example.com"
          },
          "sectionGrants" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SectionGrant_Supplier",
              "description" : "Per-section access grants for object-level ACL"
            }
          },
          "status" : {
            "type" : "string",
            "description" : "Invitation status: PENDING (invite sent, awaiting response), ACCEPTED (active team member).",
            "enum" : [ "PENDING", "ACCEPTED", "DEACTIVATED" ],
            "example" : "ACCEPTED"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier of the associated user (null until invitation is accepted).",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          }
        },
        "required" : [ "email" ]
      },
      "MediaAuthorAttribution_Supplier" : {
        "type" : "object",
        "example" : {
          "name" : "Samuel Adams",
          "url" : "https://maps.google.com/maps/contrib/111628493169070103594"
        },
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of contributor",
            "example" : "Samuel Adams",
            "minLength" : 1
          },
          "url" : {
            "type" : "string",
            "format" : "uri",
            "description" : "URL to contributor",
            "example" : "https://maps.google.com/maps/contrib/111628493169070103594"
          }
        },
        "required" : [ "name" ]
      },
      "PropertyAggregateGreenIndexAnswer_Supplier" : {
        "type" : "object",
        "description" : "A single scored answer to a Green Index sustainability question for a property.",
        "example" : {
          "questionKey" : "GI_ENERGY_RENEWABLE",
          "value" : 3
        },
        "properties" : {
          "questionKey" : {
            "type" : "string",
            "description" : "Unique key identifying the Green Index question that was answered.",
            "example" : "GI_ENERGY_RENEWABLE"
          },
          "value" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Score awarded for this answer (contributes toward the category high score).",
            "example" : 3
          }
        },
        "required" : [ "questionKey", "value" ]
      },
      "PropertyAggregateGreenIndexAnswers_Supplier" : {
        "type" : "object",
        "description" : "Aggregated Green Index sustainability scores for a property, spanning all categories.",
        "example" : {
          "aggregateScore" : 50,
          "highScore" : 100,
          "list" : [ {
            "questionKey" : "GI_ENERGY_RENEWABLE",
            "value" : 3
          } ],
          "scoresByCategory" : [ {
            "aggregateScore" : 50,
            "category" : "GENERAL",
            "highScore" : 100,
            "totalScore" : 50
          } ],
          "totalScore" : 50
        },
        "properties" : {
          "aggregateScore" : {
            "type" : "number",
            "format" : "float",
            "description" : "Total score divided by high score",
            "example" : 50,
            "maximum" : 1,
            "minimum" : 0
          },
          "highScore" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The highest possible score from all questions",
            "example" : 100
          },
          "hotelIdentifier" : {
            "type" : "string"
          },
          "list" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PropertyAggregateGreenIndexAnswer_Supplier"
            }
          },
          "scoresByCategory" : {
            "type" : "array",
            "description" : "Aggregate scores by Green Index category",
            "items" : {
              "$ref" : "#/components/schemas/PropertyAggregateGreenIndexScoreByCategory_Supplier"
            }
          },
          "totalScore" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The total score from all questions answered",
            "example" : 50
          }
        },
        "required" : [ "aggregateScore", "highScore", "hotelIdentifier", "list", "scoresByCategory", "totalScore" ]
      },
      "PropertyAggregateGreenIndexScoreByCategory_Supplier" : {
        "type" : "object",
        "description" : "Aggregated Green Index score for a single question category, showing how many sustainability points a property earned versus the maximum possible for that category.",
        "example" : {
          "aggregateScore" : 50,
          "category" : "GENERAL",
          "highScore" : 100,
          "totalScore" : 50
        },
        "properties" : {
          "aggregateScore" : {
            "type" : "number",
            "format" : "float",
            "description" : "Total score divided by high score within this category",
            "example" : 50,
            "maximum" : 1,
            "minimum" : 0
          },
          "category" : {
            "type" : "string",
            "description" : "Green Index category",
            "enum" : [ "GENERAL", "ENERGY", "WATER", "PURCHASING", "WASTE", "SITE" ],
            "example" : "GENERAL"
          },
          "highScore" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The highest possible score from all questions within this category",
            "example" : 100
          },
          "totalScore" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The total score from all questions answered within this category",
            "example" : 50
          }
        },
        "required" : [ "aggregateScore", "category", "highScore", "totalScore" ]
      },
      "PropertyLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a property (hotel), used by consumers outside the property module.",
        "example" : {
          "currencyCode" : "THB",
          "hotelCode" : "TH00042",
          "id" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "name" : "The Siam Residences",
          "numberOfRooms" : 40,
          "ownerIdentifier" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
          "ownerType" : "INDIVIDUAL",
          "stars" : 5,
          "status" : "ACTIVE",
          "type" : "COMPANY",
          "urlName" : "the-siam-residences-bangkok",
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Property address."
          },
          "architecturalStyle" : {
            "type" : "string",
            "description" : "Supported OTA specification `ARC` code.",
            "example" : "7"
          },
          "city" : {
            "$ref" : "#/components/schemas/GeoNameLightweight_Supplier",
            "description" : "City location"
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code",
            "example" : "INR",
            "pattern" : "^[A-Z]{3}$"
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized short and long welcome text of property.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            }
          },
          "generalManager" : {
            "$ref" : "#/components/schemas/GeneralManager_Supplier"
          },
          "googleMapsUrl" : {
            "type" : "string",
            "description" : "Google Maps URL of the place",
            "example" : "https://maps.google.com/?q=Siam+Residences+Bangkok"
          },
          "greenIndexScores" : {
            "$ref" : "#/components/schemas/PropertyAggregateGreenIndexAnswers_Supplier",
            "description" : "Properties that answered the Green Index questionnaire [full or partial], will have aggregate scores available."
          },
          "hotelAmenityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `HAC` code.",
            "example" : [ "1", "7" ],
            "items" : {
              "type" : "string"
            }
          },
          "hotelBrand" : {
            "type" : "string",
            "description" : "Hotel brand name if property is part of that brand.",
            "example" : "Happy Resorts"
          },
          "hotelCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `PCT` code.",
            "example" : "45"
          },
          "hotelChain" : {
            "type" : "string",
            "description" : "Hotel chain name if property is part of that chain.",
            "example" : "Getaway Resorts"
          },
          "hotelCode" : {
            "type" : "string",
            "description" : "A shorter unique code to refer to the hotel. Country Code + 5 digit number",
            "example" : "IN00011"
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "legalName" : {
            "type" : "string",
            "description" : "Legal name of your hotel as it is registered.",
            "example" : "Getaway Resorts Limited",
            "minLength" : 1
          },
          "licenseNumber" : {
            "type" : "string",
            "description" : "Business license or hotel operating permit number for the property.",
            "example" : "HT-2024-00123"
          },
          "lifestyleTypes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "List of all lifestyles property has associated with.",
              "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ]
            }
          },
          "lifestyles" : {
            "type" : "boolean",
            "description" : "Whether property has any lifestyles associated with her profile.",
            "example" : true
          },
          "localName" : {
            "type" : "string",
            "description" : "Name of the hotel in its local language if you use it for domestic guests.",
            "example" : "Resor Ubud Getaway"
          },
          "locationCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `LOC` code.",
            "example" : "34"
          },
          "locationPoint" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "GeoJSON point containing latitude and longitude of property. `Note: x = longitude, y = latitude`."
          },
          "managedBy" : {
            "$ref" : "#/components/schemas/ManagedByEntity_Supplier",
            "description" : "If another company entity is managing this property, on behalf of the property, it can be specified here and the managing entity would be applicable a management fee on every booking."
          },
          "managers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagingEntityManager_Supplier",
              "description" : "Let users manage this entity and all sub-entities."
            }
          },
          "managingEntityIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Managing entity identifier. In a 1-1 relationship, this is typically the same as the user identifier.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
          },
          "marketingContact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Marketing contact information"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Place to put stuff into"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of property.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Unique hotel trade name.",
            "example" : "The Getaway resort - Ubud",
            "minLength" : 1
          },
          "numberOfRooms" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of rooms / keys for property",
            "example" : 40
          },
          "otherChannelManager" : {
            "type" : "string",
            "description" : "If the property is currently using a channel manager but it isn't yet part of our list, the name of that channel manager.",
            "example" : "CM X"
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Application owner identifier that created this record.",
            "example" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43"
          },
          "ownerType" : {
            "type" : "string",
            "description" : "Type of entity this is.",
            "enum" : [ "COMPANY", "INDIVIDUAL" ],
            "example" : "INDIVIDUAL"
          },
          "placeId" : {
            "type" : "string",
            "description" : "Optional Google Place ID for properties with a Google Business account.",
            "example" : "ChIJN1t_tDeuEmsRUsoyG83frY4"
          },
          "platformActive" : {
            "type" : "boolean",
            "description" : "Platform approved property.",
            "example" : true
          },
          "policy" : {
            "$ref" : "#/components/schemas/PropertyPolicy_Supplier",
            "description" : "Property policies such as pets and children, early and late checkout and more"
          },
          "propertyAccessibilityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code.",
            "example" : [ "1", "7" ],
            "items" : {
              "type" : "string"
            }
          },
          "propertySecurityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code.",
            "example" : [ "1", "7" ],
            "items" : {
              "type" : "string"
            }
          },
          "rateProvider" : {
            "$ref" : "#/components/schemas/KeyValuePair_Supplier",
            "description" : "This can be an enum for external channel managers or an identifier for a Wink company rate provider"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "reservationDeskEndTime" : {
            "type" : "string",
            "description" : "If the reservation desk does not operate 24 hours, enter an end time.",
            "example" : "23:00"
          },
          "reservationDeskStartTime" : {
            "type" : "string",
            "description" : "If the reservation desk does not operate 24 hours, enter a start time.",
            "example" : "10:00"
          },
          "reservationsContact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Reservation desk contact information"
          },
          "revenueContact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Accounting contact information"
          },
          "segmentCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `SEG` code.",
            "example" : "7"
          },
          "socialNetworks" : {
            "type" : "boolean",
            "description" : "Whether property has any social networks associated with her profile.",
            "example" : true
          },
          "socials" : {
            "type" : "array",
            "description" : "List of all social network account property has.",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "stars" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Hotel star rating.",
            "example" : 4
          },
          "status" : {
            "type" : "string",
            "default" : "APPROVED",
            "description" : "wink.travel sets this status as the hotel moves through the payment workflow and manually for approval.",
            "enum" : [ "PENDING_APPROVAL", "ACTIVE", "INACTIVE", "UNDER_REVIEW", "SUSPENDED", "REJECTED", "REMOVED" ],
            "example" : "APPROVED"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of sales channel",
            "enum" : [ "TRIP_PAY", "FACILITATOR", "DIRECT", "APPLICATION", "HOTEL", "TRAVELIKO", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "GOOGLE_HOTEL_API", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ],
            "example" : "APPLICATION"
          },
          "uniqueId" : {
            "type" : "string",
            "description" : "Event shorter name",
            "example" : "abc123"
          },
          "urlName" : {
            "type" : "string",
            "description" : "Unique url-friendly slug to identify property",
            "example" : "the-getaway-resort-ubud-indonesia",
            "minLength" : 1,
            "pattern" : "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "User owner identifier.",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          },
          "website" : {
            "type" : "string",
            "description" : "Property brand.com website.",
            "example" : "www.brand.com"
          },
          "whenBuilt" : {
            "type" : "string",
            "description" : "Year the property was constructed.",
            "example" : "1927"
          }
        },
        "required" : [ "currencyCode", "hotelCode", "legalName", "name", "numberOfRooms", "ownerIdentifier", "ownerType", "status", "type", "uniqueId", "urlName" ]
      },
      "PropertyPolicy_Supplier" : {
        "type" : "object",
        "description" : "Outlines basic policies for the property.",
        "example" : {
          "checkInTime" : "14:00",
          "checkOutTime" : "10:00",
          "childrenAllowed" : true,
          "childrenMinimumAge" : 6,
          "internetAvailability" : "YES",
          "internetConnectionLocation" : "ENTIRE_PROPERTY",
          "internetConnectionType" : "WIFI",
          "parkingAccess" : "PRIVATE",
          "parkingAvailability" : "YES",
          "petCharge" : {
            "amount" : 500.0,
            "currency" : "THB"
          },
          "petMaxWeightInKilos" : 10,
          "petsAllowed" : true
        },
        "properties" : {
          "checkInTime" : {
            "type" : "string",
            "description" : "When the guest can check in.",
            "example" : "14:00",
            "minLength" : 1
          },
          "checkOutTime" : {
            "type" : "string",
            "description" : "When the guest has to check out.",
            "example" : "10:00",
            "minLength" : 1
          },
          "childrenAllowed" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates whether property allows children",
            "example" : true
          },
          "childrenMinimumAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "When a property allows children, it can also indicate what the minimum age is for children to be allowed.",
            "example" : 6
          },
          "internetAvailability" : {
            "type" : "string",
            "description" : "Indicates the availability of internet on the property.",
            "enum" : [ "YES", "NO", "YES_PAID" ],
            "example" : "YES"
          },
          "internetConnectionLocation" : {
            "type" : "string",
            "description" : "Indicates where internet is available in and around the property.",
            "enum" : [ "ENTIRE_PROPERTY", "PUBLIC_AREAS", "ALL_ROOMS", "SOME_ROOMS", "BUSINESS_CENTER" ],
            "example" : "ENTIRE_PROPERTY"
          },
          "internetConnectionType" : {
            "type" : "string",
            "description" : "Indicates how guests can access the Internet on the property.",
            "enum" : [ "WIFI", "CABLE" ],
            "example" : "WIFI"
          },
          "parkingAccess" : {
            "type" : "string",
            "description" : "Indicates what type of parking is available at the property.",
            "enum" : [ "PRIVATE", "PUBLIC" ],
            "example" : "PRIVATE"
          },
          "parkingAvailability" : {
            "type" : "string",
            "description" : "Indicates whether parking is available at the property.",
            "enum" : [ "YES", "NO", "YES_PAID" ],
            "example" : "YES"
          },
          "petCharge" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "If pets are allowed, property can tell travelers if there is a charge applicable for the pet."
          },
          "petMaxWeightInKilos" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "If pets are allowed, property can further limit on weight.",
            "example" : 10
          },
          "petsAllowed" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates whether pets are allowed on the property. Note: There are thousand different kinds of pets. Just because the property allows small dogs does not mean the guest can bring a python. Always best to check with property.",
            "example" : true
          }
        },
        "required" : [ "checkInTime", "checkOutTime", "childrenAllowed", "internetAvailability", "parkingAvailability", "petsAllowed" ]
      },
      "SectionGrant_Supplier" : {
        "type" : "object",
        "example" : {
          "level" : "WRITE",
          "section" : "BOOKING"
        },
        "properties" : {
          "level" : {
            "type" : "string",
            "description" : "Access level (READ < WRITE < FULL); a higher level subsumes all lower ones",
            "enum" : [ "READ", "WRITE", "FULL" ],
            "example" : "WRITE"
          },
          "section" : {
            "type" : "string",
            "description" : "Functional area of the platform this grant applies to; ALL is a wildcard that covers every section",
            "enum" : [ "ALL", "ACCOUNT", "INVENTORY", "BOOKING", "MARKETING", "CONTENT", "ANALYTICS", "INTEGRATIONS", "MCP", "PAYMENT", "ACCOUNTING", "USER_ADMIN", "ADMIN" ],
            "example" : "BOOKING"
          }
        },
        "required" : [ "level", "section" ]
      },
      "SimpleDescription_Supplier" : {
        "type" : "object",
        "description" : "Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.",
        "example" : {
          "creator" : "USER",
          "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
          "language" : "en",
          "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
          "name" : "Deluxe River View Suite"
        },
        "properties" : {
          "creator" : {
            "type" : "string",
            "default" : "USER",
            "description" : "Whether it was user or system generated.",
            "enum" : [ "SYSTEM", "USER" ],
            "example" : "SYSTEM"
          },
          "description" : {
            "type" : "string",
            "description" : "Longer text description",
            "example" : "This is a longer description in the specified language.",
            "maxLength" : 2147483647,
            "minLength" : 1
          },
          "hashMismatch" : {
            "type" : "boolean",
            "readOnly" : true
          },
          "language" : {
            "type" : "string",
            "default" : "en",
            "description" : "Indicate which language this description is written in.",
            "example" : "en",
            "maxLength" : 2,
            "minLength" : 2,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "md5ContentHash" : {
            "type" : "string",
            "description" : "The md5 hash of the name, description and language.",
            "example" : "d41d8cd98f00b204e9800998ecf8427e"
          },
          "name" : {
            "type" : "string",
            "description" : "Use as title or short text description",
            "example" : "An example title"
          }
        },
        "required" : [ "description", "language", "name" ]
      },
      "SimpleMultimedia_Supplier" : {
        "type" : "object",
        "description" : "Multimedia that contains less information than Multimedia object",
        "example" : {
          "angle" : null,
          "attribution" : [ ],
          "category" : "2",
          "descriptions" : [ {
            "description" : "Elegant lobby of The Siam Residences",
            "language" : "en",
            "title" : "Lobby Entrance"
          } ],
          "height" : 1600,
          "identifier" : "the-siam-residences/lobby-entrance",
          "isLandscape" : true,
          "lifestyleType" : null,
          "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "published" : true,
          "sort" : 10,
          "source" : "CLOUDINARY",
          "type" : "IMAGE",
          "width" : 2560
        },
        "properties" : {
          "angle" : {
            "type" : "string",
            "description" : "Media angle",
            "example" : "-90"
          },
          "attribution" : {
            "type" : "array",
            "description" : "Whether image has attribution properties",
            "items" : {
              "$ref" : "#/components/schemas/MediaAuthorAttribution_Supplier"
            }
          },
          "category" : {
            "type" : "string",
            "description" : "Supported OTA specification `PIC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized media captions to give user some context about where this media was taken.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            }
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Media height in pixels.",
            "example" : 1600,
            "minimum" : 1
          },
          "identifier" : {
            "type" : "string",
            "description" : "Use this identifier to communicate with Cloudinary.",
            "example" : "cloudinary-image-1",
            "minLength" : 1
          },
          "isLandscape" : {
            "type" : "boolean",
            "description" : "True if media width is greater or equal to height",
            "example" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "multimediaIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Document identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "published" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.",
            "example" : true
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 999,
            "description" : "Sort allows you to control how you want to sort this record in a list of media records.",
            "example" : 10
          },
          "source" : {
            "type" : "string",
            "default" : "CLOUDINARY",
            "description" : "Currently ONLY using Cloudinary to store all image / video assets.",
            "enum" : [ "YOUTUBE", "CLOUDINARY" ],
            "example" : "CLOUDINARY"
          },
          "type" : {
            "type" : "string",
            "description" : "Whether Cloudinary media is a VIDEO or IMAGE.",
            "enum" : [ "IMAGE", "VIDEO", "AUDIO", "RAW" ],
            "example" : "IMAGE"
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Media width in pixels.",
            "example" : 2560,
            "minimum" : 1
          }
        },
        "required" : [ "height", "identifier", "multimediaIdentifier", "sort", "source", "type", "width" ]
      },
      "Social_Supplier" : {
        "type" : "object",
        "description" : "Social network",
        "example" : {
          "location" : "https://www.instagram.com/thesiamresidences",
          "type" : "INSTAGRAM"
        },
        "properties" : {
          "location" : {
            "type" : "string",
            "description" : "URL or social network identifier to social network profile",
            "example" : "https://www.instagram.com/thesiamresidences"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of social network.",
            "enum" : [ "FACEBOOK", "INSTAGRAM", "SKYPE", "TRIP_ADVISOR", "TWITTER", "GOOGLE_PLUS", "WHATSAPP", "LINE", "WECHAT", "VIBER", "SNAPCHAT", "WEIBO", "RENREN", "WEBSITE", "QQ", "TIKTOK" ],
            "example" : "INSTAGRAM"
          }
        }
      },
      "SubCountryLightweight_Supplier" : {
        "type" : "object",
        "description" : "Country subdivision such as a state or province",
        "example" : {
          "asciiName" : "New York",
          "geoNameId" : "5128638",
          "name" : "New York"
        },
        "properties" : {
          "asciiName" : {
            "type" : "string",
            "description" : "Sub-country ascii name",
            "example" : "New York"
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "Sub-country GeoNames identifier",
            "example" : "5128638"
          },
          "name" : {
            "type" : "string",
            "description" : "Sub-country name",
            "example" : "New York"
          }
        }
      },
      "SubSubCountryLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight representation of a second-level country subdivision such as a county or district",
        "example" : {
          "asciiName" : "New York County",
          "geoNameId" : "5128594",
          "name" : "New York County"
        },
        "properties" : {
          "asciiName" : {
            "type" : "string",
            "description" : "ASCII-transliterated name of the county or district, safe for URLs and sorting",
            "example" : "New York County"
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "GeoNames.org unique identifier for this subdivision",
            "example" : "5128594"
          },
          "name" : {
            "type" : "string",
            "description" : "Official name of the county or district in its local script",
            "example" : "New York County"
          }
        }
      },
      "TravelInventoryRecognition_Supplier" : {
        "type" : "object",
        "description" : "Recognition for the ancillary blocking.",
        "example" : {
          "category" : "AWARD",
          "date" : "2026-01-14",
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "maxRating" : 10.0,
          "officialAppointmentInd" : true,
          "provider" : "Michelin",
          "rating" : 8.5,
          "ratingSymbol" : "*",
          "type" : "PERCENT_RATING"
        },
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Recognition category.",
            "enum" : [ "THIRD_PARTY_REVIEW", "PUBLICATION", "AWARD" ],
            "example" : "AWARD"
          },
          "date" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date the award was received",
            "example" : "2020-10-24"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Recognition identifier.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "maxRating" : {
            "type" : "number",
            "format" : "float",
            "description" : "Use this to let hotels indicate what the total score for this award is.",
            "example" : 10
          },
          "officialAppointmentInd" : {
            "type" : "boolean",
            "description" : "When true, this indicates the property has received official permission from the award provider to use the rating in publications and marketing materials; when false this permission has not been granted.",
            "example" : true
          },
          "provider" : {
            "type" : "string",
            "description" : "The name of the entity that administers this recognition.",
            "example" : "Michelin",
            "minLength" : 1
          },
          "rating" : {
            "type" : "number",
            "format" : "float",
            "description" : "The actual award or rating received by the hotel facility.",
            "example" : 8.5,
            "minimum" : 0.0
          },
          "ratingSymbol" : {
            "type" : "string",
            "description" : "Provides the symbol used in the rating. Used in conjunction with the Rating.",
            "example" : "*"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of rating system the recognition operated on. This allows us to display the score properly.",
            "enum" : [ "STAR_RATING", "NUMERIC_RATING", "PERCENT_RATING" ],
            "example" : "PERCENT_RATING"
          }
        },
        "required" : [ "category", "identifier", "maxRating", "provider", "rating", "type" ]
      },
      "UpdateLifestylesRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body for replacing the lifestyle designations assigned to a property (up to 6 lifestyle types).",
        "properties" : {
          "list" : {
            "type" : "array",
            "description" : "List of new lifestyles to set on property.",
            "items" : {
              "type" : "string",
              "description" : "Specific lifestyle preference type used to match travelers with suitable inventory",
              "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ]
            },
            "maxItems" : 6,
            "minItems" : 0
          }
        }
      },
      "AdvanceBookingRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to bookings made within a specific advance window before the stay start date.",
        "example" : {
          "maxAdvanceBookingOffset" : 365,
          "minAdvanceBookingOffset" : 7
        },
        "properties" : {
          "maxAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum days in advance of stay start date when the booking may be made. Set to 0 for no maximum.",
            "example" : 365,
            "minimum" : 0
          },
          "minAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum days in advance of stay start date when the booking must be made. Set to 0 for no minimum.",
            "example" : 7,
            "minimum" : 0
          }
        }
      },
      "ArrivalDaysOfWeekRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests arriving on specific days of the week.",
        "example" : {
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          }
        },
        "properties" : {
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "The days of the week when this rate is available for guests to arrive on"
          }
        },
        "required" : [ "daysOfWeek" ]
      },
      "AvailableDaysOfWeekRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to specific days of the week when it is available for booking.",
        "example" : {
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          }
        },
        "properties" : {
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "The days of the week when this rate is available for booking"
          }
        },
        "required" : [ "daysOfWeek" ]
      },
      "BlackoutDate_Supplier" : {
        "type" : "object",
        "description" : "A date range during which a promotion is not available (blackout period).",
        "example" : {
          "effectiveDate" : "2026-04-13",
          "expireDate" : "2026-04-15"
        },
        "properties" : {
          "effectiveDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start date when the promotion is not available (inclusive).",
            "example" : "2026-04-13"
          },
          "expireDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "End date when the promotion is not available (inclusive).",
            "example" : "2026-04-15"
          }
        },
        "required" : [ "effectiveDate", "expireDate" ]
      },
      "CityRateQualifierLightweight_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific city.",
        "example" : {
          "city" : {
            "countryCode" : "TH",
            "geoNameId" : "1609350",
            "latitude" : 13.7563,
            "longitude" : 100.5018,
            "name" : "Bangkok"
          }
        },
        "properties" : {
          "city" : {
            "$ref" : "#/components/schemas/GeoIpLightweight_Supplier",
            "description" : "City details (obtained via geonames) to restrict the promotion by guest location."
          }
        },
        "required" : [ "city" ]
      },
      "ContinentRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific continent.",
        "example" : {
          "continent" : "NA"
        },
        "properties" : {
          "continent" : {
            "type" : "string",
            "description" : "Two-letter continent code (e.g. NA, EU, AS)",
            "example" : "NA",
            "minLength" : 1
          }
        },
        "required" : [ "continent" ]
      },
      "CountryRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific country.",
        "example" : {
          "country" : {
            "continentCode" : "AS",
            "geoNameId" : "1609350",
            "isoAlpha2" : "TH",
            "isoAlpha3" : "THA",
            "name" : "Thailand"
          }
        },
        "properties" : {
          "country" : {
            "$ref" : "#/components/schemas/GeoNameCountry_Supplier",
            "description" : "Country (obtained via geonames) to restrict the promotion by guest location."
          }
        },
        "required" : [ "country" ]
      },
      "DepartureDaysOfWeekRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests departing on specific days of the week.",
        "example" : {
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          }
        },
        "properties" : {
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "The days of the week when the guest is allowed to depart"
          }
        },
        "required" : [ "daysOfWeek" ]
      },
      "GeoIpLightweight_Supplier" : {
        "type" : "object",
        "description" : "Uses MaxMind's city lite db to persist GeoIpLightweight objects in our own db.",
        "example" : {
          "cityName" : "Bangkok",
          "continentCode" : "AS",
          "continentName" : "Asia",
          "countryIsoCode" : "TH",
          "countryName" : "Thailand",
          "geoNameId" : "1609350",
          "localeCode" : "en",
          "subDivision1Code" : "10",
          "subDivision1Name" : "Bangkok",
          "subDivision2Code" : "1001",
          "subDivision2Name" : "Phra Nakhon",
          "timezone" : "Asia/Bangkok"
        },
        "properties" : {
          "cityName" : {
            "type" : "string",
            "description" : "City name",
            "example" : "New York",
            "minLength" : 1
          },
          "continentCode" : {
            "type" : "string",
            "description" : "Continent code",
            "example" : "NA",
            "minLength" : 1
          },
          "continentName" : {
            "type" : "string",
            "description" : "Continent name",
            "example" : "North America",
            "minLength" : 1
          },
          "countryIsoCode" : {
            "type" : "string",
            "description" : "Country ISO code",
            "example" : "US",
            "minLength" : 1,
            "pattern" : "^[A-Z]{2}$"
          },
          "countryName" : {
            "type" : "string",
            "description" : "Country name",
            "example" : "United States",
            "minLength" : 1
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "GeoNameLightweight identifiers taken from [https://geonames.org](https://geonames.org).",
            "example" : "8798734",
            "minLength" : 1
          },
          "localeCode" : {
            "type" : "string",
            "description" : "Locale code",
            "example" : "en",
            "minLength" : 1,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "subDivision1Code" : {
            "type" : "string",
            "description" : "Sub-division 1 code",
            "example" : "NY"
          },
          "subDivision1Name" : {
            "type" : "string",
            "description" : "Sub-division 1 name",
            "example" : "NY"
          },
          "subDivision2Code" : {
            "type" : "string",
            "description" : "Sub-division 2 code",
            "example" : "Kings"
          },
          "subDivision2Name" : {
            "type" : "string",
            "description" : "Sub-division 2 name",
            "example" : "Kings County"
          },
          "timezone" : {
            "type" : "string",
            "description" : "Timezone",
            "example" : "America/New_York",
            "minLength" : 1
          }
        },
        "required" : [ "cityName", "continentCode", "continentName", "countryIsoCode", "countryName", "geoNameId", "localeCode", "timezone" ]
      },
      "GeoLocationRateQualifier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests within a circular geographic area defined by a center point and radius.",
        "example" : {
          "latitude" : 13.7563,
          "longitude" : 100.5018,
          "radiusInKilometers" : 50
        },
        "properties" : {
          "latitude" : {
            "type" : "number",
            "format" : "double",
            "description" : "Latitude of the center point for the geo-location radius check.",
            "example" : 13.7563
          },
          "longitude" : {
            "type" : "number",
            "format" : "double",
            "description" : "Longitude of the center point for the geo-location radius check.",
            "example" : 100.5018
          },
          "radiusInKilometers" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Radius in kilometers around the center point within which the guest must be located.",
            "example" : 50
          }
        },
        "required" : [ "latitude", "longitude", "radiusInKilometers" ]
      },
      "GeoNameCountry_Supplier" : {
        "type" : "object",
        "description" : "Country geographic data from GeoNames",
        "example" : {
          "continentCode" : "AS",
          "continentName" : "Asia",
          "countryIsoCode" : "TH",
          "countryName" : "Thailand",
          "geoNameId" : "1609350"
        },
        "properties" : {
          "continentCode" : {
            "type" : "string",
            "description" : "Continent code (two-letter ISO)",
            "example" : "AS"
          },
          "continentName" : {
            "type" : "string",
            "description" : "Continent name",
            "example" : "Asia"
          },
          "countryIsoCode" : {
            "type" : "string",
            "description" : "Country ISO 3166-1 alpha-2 code",
            "example" : "TH",
            "pattern" : "^[A-Z]{2}$"
          },
          "countryName" : {
            "type" : "string",
            "description" : "Country name",
            "example" : "Thailand"
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "GeoNames identifier",
            "example" : "1609350"
          }
        }
      },
      "IPRangeRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests whose IP address falls within a specified IPv4 range.",
        "example" : {
          "endIPRange" : "192.168.1.255",
          "startIPRange" : "192.168.1.0"
        },
        "properties" : {
          "endIPRange" : {
            "type" : "string",
            "description" : "Ending IP address of the range (inclusive).",
            "example" : "192.168.1.255",
            "minLength" : 1
          },
          "startIPRange" : {
            "type" : "string",
            "description" : "Starting IP address of the range (inclusive).",
            "example" : "192.168.1.0",
            "minLength" : 1
          }
        },
        "required" : [ "endIPRange", "startIPRange" ]
      },
      "LengthOfStayRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to stays within a specified minimum and maximum length of stay (in nights).",
        "example" : {
          "maxLOS" : 30,
          "minLOS" : 3
        },
        "properties" : {
          "maxLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of nights. Set to 0 for no maximum.",
            "example" : 30,
            "minimum" : 0
          },
          "minLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of nights for promotion to apply. Set to 0 for no minimum.",
            "example" : 3,
            "minimum" : 0
          }
        },
        "required" : [ "maxLOS", "minLOS" ]
      },
      "MinutesBeforeBookingStartDateRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to last-minute bookings made within a specified number of seconds before the stay start date.",
        "example" : {
          "seconds" : 1440
        },
        "properties" : {
          "seconds" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Number of seconds before the arrival date when the promotion becomes active (last-minute bookings).",
            "example" : 1440,
            "minimum" : 0
          }
        },
        "required" : [ "seconds" ]
      },
      "PrepayRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to either prepaid or pay-at-property rates.",
        "example" : {
          "prepay" : true
        },
        "properties" : {
          "prepay" : {
            "type" : "boolean",
            "description" : "true to apply only to prepaid rates, false to apply only to pay-at-property rates.",
            "example" : true
          }
        },
        "required" : [ "prepay" ]
      },
      "PromotionRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests who enter a specific promotional code at checkout.",
        "example" : {
          "promotion" : "EARLYBIRD2026"
        },
        "properties" : {
          "promotion" : {
            "type" : "string",
            "description" : "Promo code that guests must enter to access this promotion.",
            "example" : "EARLYBIRD2026",
            "minLength" : 1
          }
        },
        "required" : [ "promotion" ]
      },
      "RefundableRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to either refundable or non-refundable rates.",
        "example" : {
          "refundable" : true
        },
        "properties" : {
          "refundable" : {
            "type" : "boolean",
            "description" : "true to apply only to refundable rates, false to apply only to non-refundable rates.",
            "example" : true
          }
        },
        "required" : [ "refundable" ]
      },
      "RequiredDaysOfWeekRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to stays that include specific required days of the week.",
        "example" : {
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          }
        },
        "properties" : {
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "The days of the week the user has to stay on to get this rate"
          }
        },
        "required" : [ "daysOfWeek" ]
      },
      "RoomRangeRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to bookings with a specified minimum and/or maximum number of rooms.",
        "example" : {
          "maxRooms" : 4,
          "minRooms" : 1
        },
        "properties" : {
          "maxRooms" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of rooms in the booking. Leave null or 0 for no upper limit.",
            "example" : 4
          },
          "minRooms" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of rooms in the booking for this promotion to apply.",
            "example" : 1,
            "minimum" : 1
          }
        },
        "required" : [ "minRooms" ]
      },
      "SellDateRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to bookings made within a specific date window.",
        "example" : {
          "effectiveDate" : "2026-05-01",
          "expireDate" : "2026-08-31"
        },
        "properties" : {
          "effectiveDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Promotion is available when the booking is made on or after this date (inclusive).",
            "example" : "2026-05-01"
          },
          "expireDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Promotion is available when the booking is made on or before this date (inclusive).",
            "example" : "2026-08-31"
          }
        },
        "required" : [ "effectiveDate", "expireDate" ]
      },
      "StayDateRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Rate qualifier that restricts a promotion to guests whose stay falls within a specific date range.",
        "example" : {
          "effectiveDate" : "2026-06-01",
          "expireDate" : "2026-08-31"
        },
        "properties" : {
          "effectiveDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Promotion applies when guest's stay starts on or after this date (inclusive).",
            "example" : "2026-06-01"
          },
          "expireDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Promotion applies when guest's stay starts on or before this date (inclusive).",
            "example" : "2026-08-31"
          }
        },
        "required" : [ "effectiveDate", "expireDate" ]
      },
      "TimezoneRateQualifier_Supplier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests whose system timezone matches the specified IANA timezone name.",
        "example" : {
          "timezone" : "Asia/Bangkok"
        },
        "properties" : {
          "timezone" : {
            "type" : "string",
            "description" : "IANA timezone name of the booker's location (e.g. Asia/Bangkok).",
            "example" : "Asia/Bangkok",
            "minLength" : 1
          }
        },
        "required" : [ "timezone" ]
      },
      "UpsertSpecialRateRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for creating or updating a special rate promotion with all its qualifying conditions.",
        "example" : {
          "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
          "advanceBookingRateQualifier" : {
            "maxAdvanceBookingOffset" : 365,
            "minAdvanceBookingOffset" : 7
          },
          "arrivalDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "availableDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "blackoutDates" : [ {
            "effectiveDate" : "2026-04-13",
            "expireDate" : "2026-04-15"
          } ],
          "cityRateQualifiers" : [ {
            "city" : {
              "countryCode" : "TH",
              "geoNameId" : "1609350",
              "latitude" : 13.7563,
              "longitude" : 100.5018,
              "name" : "Bangkok"
            }
          } ],
          "continentRateQualifiers" : [ {
            "continent" : "NA"
          } ],
          "countryRateQualifiers" : [ {
            "country" : {
              "continentCode" : "AS",
              "geoNameId" : "1609350",
              "isoAlpha2" : "TH",
              "isoAlpha3" : "THA",
              "name" : "Thailand"
            }
          } ],
          "departureDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "enabled" : true,
          "geoLocationRateQualifiers" : [ {
            "latitude" : 13.7563,
            "longitude" : 100.5018,
            "radiusInKilometers" : 50
          } ],
          "ipRangeRateQualifiers" : [ {
            "endIPRange" : "192.168.1.255",
            "startIPRange" : "192.168.1.0"
          } ],
          "lastMinuteRateQualifier" : {
            "seconds" : 1440
          },
          "lengthOfStayRateQualifier" : {
            "maxLOS" : 30,
            "minLOS" : 3
          },
          "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
          "modifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "name" : "Early Bird Discount",
          "prepayRateQualifier" : {
            "prepay" : true
          },
          "pricingType" : "PER_PERSON_PER_NIGHT",
          "promotionRateQualifiers" : [ {
            "promotion" : "EARLYBIRD2026"
          } ],
          "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
          "refundableRateQualifier" : {
            "refundable" : true
          },
          "requiredDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "roomRangeRateQualifier" : {
            "maxRooms" : 4,
            "minRooms" : 1
          },
          "sellDateRateQualifiers" : [ {
            "effectiveDate" : "2026-05-01",
            "expireDate" : "2026-08-31"
          } ],
          "stayDateRateQualifiers" : [ {
            "effectiveDate" : "2026-06-01",
            "expireDate" : "2026-08-31"
          } ],
          "timezoneRateQualifiers" : [ {
            "timezone" : "Asia/Bangkok"
          } ],
          "type" : "DISCOUNT"
        },
        "properties" : {
          "addOnIdentifiers" : {
            "type" : "array",
            "description" : "Optional: apply promotion only to specific add-ons or upgrades.",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Add-on identifier",
              "example" : "880e8400-e29b-41d4-a716-446655440333"
            }
          },
          "advanceBookingRateQualifier" : {
            "$ref" : "#/components/schemas/AdvanceBookingRateQualifier_Supplier",
            "description" : "Optional: restrict promotion to bookings made in advance (minimum days before stay)."
          },
          "arrivalDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/ArrivalDaysOfWeekRateQualifier_Supplier",
            "description" : "Optional: restrict promotion to guests arriving on specific days of the week."
          },
          "availableDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/AvailableDaysOfWeekRateQualifier_Supplier",
            "description" : "Optional: restrict promotion to specific days of the week when it is available for booking."
          },
          "blackoutDates" : {
            "type" : "array",
            "description" : "Optional: blackout dates when promotion is not applicable.",
            "items" : {
              "$ref" : "#/components/schemas/BlackoutDate_Supplier"
            }
          },
          "cityRateQualifiers" : {
            "type" : "array",
            "description" : "Optional: restrict promotion to guests booking from specific cities based on their IP geolocation.",
            "items" : {
              "$ref" : "#/components/schemas/CityRateQualifierLightweight_Supplier"
            }
          },
          "continentRateQualifiers" : {
            "type" : "array",
            "description" : "Optional: restrict promotion to guests from specific continents based on their IP geolocation.",
            "items" : {
              "$ref" : "#/components/schemas/ContinentRateQualifier_Supplier"
            }
          },
          "countryRateQualifiers" : {
            "type" : "array",
            "description" : "Optional: restrict promotion to guests from specific countries based on their IP geolocation.",
            "items" : {
              "$ref" : "#/components/schemas/CountryRateQualifier_Supplier"
            }
          },
          "departureDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/DepartureDaysOfWeekRateQualifier_Supplier",
            "description" : "Optional: restrict promotion to guests departing on specific days of the week."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions to display to guests (at least one in English). Describe the promotion's benefits and terms.",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_Supplier"
            },
            "maxItems" : 2147483647,
            "minItems" : 1
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enable or disable the promotion without deleting it.",
            "example" : true
          },
          "geoLocationRateQualifiers" : {
            "type" : "array",
            "description" : "Optional: restrict promotion to guests located within a circular area on the map.",
            "items" : {
              "$ref" : "#/components/schemas/GeoLocationRateQualifier"
            }
          },
          "ipRangeRateQualifiers" : {
            "type" : "array",
            "description" : "Optional: restrict promotion to guests whose IP address falls within specified ranges.",
            "items" : {
              "$ref" : "#/components/schemas/IPRangeRateQualifier_Supplier"
            }
          },
          "lastMinuteRateQualifier" : {
            "$ref" : "#/components/schemas/MinutesBeforeBookingStartDateRateQualifier_Supplier",
            "description" : "Optional: apply only to last-minute bookings (within X minutes of stay start date)."
          },
          "lengthOfStayRateQualifier" : {
            "$ref" : "#/components/schemas/LengthOfStayRateQualifier_Supplier",
            "description" : "Optional: restrict promotion to stays of a specific duration."
          },
          "masterRateIdentifiers" : {
            "type" : "array",
            "description" : "Optional: apply promotion only to specific master rates (room types).",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Master rate identifier",
              "example" : "770e8400-e29b-41d4-a716-446655440222"
            }
          },
          "modifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "The discount or premium amount and currency."
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of promotion for property staff reference.",
            "example" : "Early Bird Discount",
            "minLength" : 1
          },
          "prepayRateQualifier" : {
            "$ref" : "#/components/schemas/PrepayRateQualifier_Supplier",
            "description" : "Optional: apply only to prepaid or non-prepaid rates."
          },
          "pricingType" : {
            "type" : "string",
            "description" : "Determines how the discount is applied: per night, per entire stay, or per guest.",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_PERSON_PER_NIGHT"
          },
          "promotionRateQualifiers" : {
            "type" : "array",
            "description" : "Optional: require guests to enter a promo code to access this promotion.",
            "items" : {
              "$ref" : "#/components/schemas/PromotionRateQualifier_Supplier"
            }
          },
          "ratePlanIdentifiers" : {
            "type" : "array",
            "description" : "Optional: apply promotion only to specific rate plans.",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Rate plan identifier",
              "example" : "990e8400-e29b-41d4-a716-446655440444"
            }
          },
          "refundableRateQualifier" : {
            "$ref" : "#/components/schemas/RefundableRateQualifier_Supplier",
            "description" : "Optional: apply only to refundable or non-refundable rates."
          },
          "requiredDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/RequiredDaysOfWeekRateQualifier_Supplier",
            "description" : "Optional: restrict promotion to stays that include specific days of the week."
          },
          "roomRangeRateQualifier" : {
            "$ref" : "#/components/schemas/RoomRangeRateQualifier_Supplier",
            "description" : "Optional: restrict promotion based on number of rooms in the booking."
          },
          "sellDateRateQualifiers" : {
            "type" : "array",
            "description" : "Optional: restrict promotion to specific dates when the booking is made.",
            "items" : {
              "$ref" : "#/components/schemas/SellDateRateQualifier_Supplier"
            }
          },
          "stayDateRateQualifiers" : {
            "type" : "array",
            "description" : "Optional: restrict promotion to specific arrival dates.",
            "items" : {
              "$ref" : "#/components/schemas/StayDateRateQualifier_Supplier"
            }
          },
          "timezoneRateQualifiers" : {
            "type" : "array",
            "description" : "Optional: restrict promotion to guests in specific time zones.",
            "items" : {
              "$ref" : "#/components/schemas/TimezoneRateQualifier_Supplier"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Set whether the discount should reduce the rate (DISCOUNT) or increase it as a premium (PREMIUM).",
            "enum" : [ "PREMIUM", "DISCOUNT" ],
            "example" : "DISCOUNT"
          }
        },
        "required" : [ "descriptions", "enabled", "modifier", "name", "pricingType", "type" ]
      },
      "LocalizedDescription" : {
        "type" : "object",
        "description" : "Simplified localized description containing text content and its language code.",
        "example" : {
          "creator" : "USER",
          "description" : "This is a longer description in the specified language.",
          "language" : "en",
          "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
        },
        "properties" : {
          "creator" : {
            "type" : "string",
            "default" : "USER",
            "description" : "Whether it was user or system generated.",
            "enum" : [ "SYSTEM", "USER" ],
            "example" : "SYSTEM"
          },
          "description" : {
            "type" : "string",
            "description" : "Longer text description",
            "example" : "This is a longer description in the specified language.",
            "maxLength" : 2147483647,
            "minLength" : 1
          },
          "hashMismatch" : {
            "type" : "boolean",
            "readOnly" : true
          },
          "language" : {
            "type" : "string",
            "default" : "en",
            "description" : "Indicate which language this description is written in.",
            "example" : "en",
            "maxLength" : 2,
            "minLength" : 2,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "md5ContentHash" : {
            "type" : "string",
            "description" : "The md5 hash of the name, description and language.",
            "example" : "d41d8cd98f00b204e9800998ecf8427e"
          }
        },
        "required" : [ "description", "language" ]
      },
      "SpecialRateLightweight_Supplier" : {
        "type" : "object",
        "description" : "A lightweight projection of a special rate (promotion) containing all qualifying conditions and metadata.",
        "example" : {
          "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
          "advanceBookingRateQualifier" : {
            "maxAdvanceBookingOffset" : 365,
            "minAdvanceBookingOffset" : 7
          },
          "arrivalDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "availableDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "blackoutDates" : [ {
            "effectiveDate" : "2026-04-13",
            "expireDate" : "2026-04-15"
          } ],
          "cityRateQualifiers" : [ {
            "city" : {
              "countryCode" : "TH",
              "geoNameId" : "1609350",
              "latitude" : 13.7563,
              "longitude" : 100.5018,
              "name" : "Bangkok"
            }
          } ],
          "continentRateQualifiers" : [ {
            "continent" : "NA"
          } ],
          "countryRateQualifiers" : [ {
            "country" : {
              "continentCode" : "AS",
              "geoNameId" : "1609350",
              "isoAlpha2" : "TH",
              "isoAlpha3" : "THA",
              "name" : "Thailand"
            }
          } ],
          "createdDate" : "2026-01-14T09:30:00",
          "departureDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "enabled" : true,
          "geoLocationRateQualifiers" : [ {
            "latitude" : 13.7563,
            "longitude" : 100.5018,
            "radiusInKilometers" : 50
          } ],
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "ipRangeRateQualifiers" : [ {
            "endIPRange" : "192.168.1.255",
            "startIPRange" : "192.168.1.0"
          } ],
          "lastMinuteRateQualifier" : {
            "seconds" : 1440
          },
          "lastUpdate" : "2026-02-03T16:45:12",
          "lengthOfStayRateQualifier" : {
            "maxLOS" : 30,
            "minLOS" : 3
          },
          "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
          "modifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "name" : "Early bird",
          "prepayRateQualifier" : {
            "prepay" : true
          },
          "pricingType" : "PER_PERSON_PER_NIGHT",
          "promotionRateQualifiers" : [ {
            "promotion" : "EARLYBIRD2026"
          } ],
          "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
          "refundableRateQualifier" : {
            "refundable" : true
          },
          "requiredDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "roomRangeRateQualifier" : {
            "maxRooms" : 4,
            "minRooms" : 1
          },
          "sellDateRateQualifiers" : [ {
            "effectiveDate" : "2026-05-01",
            "expireDate" : "2026-08-31"
          } ],
          "stayDateRateQualifiers" : [ {
            "effectiveDate" : "2026-06-01",
            "expireDate" : "2026-08-31"
          } ],
          "timezoneRateQualifiers" : [ {
            "timezone" : "Asia/Bangkok"
          } ],
          "type" : "DISCOUNT",
          "version" : 3
        },
        "properties" : {
          "addOnIdentifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Add-on identifier",
              "example" : "880e8400-e29b-41d4-a716-446655440333"
            }
          },
          "advanceBookingRateQualifier" : {
            "$ref" : "#/components/schemas/AdvanceBookingRateQualifier_Supplier",
            "description" : "Restrict promotion to users who want to book in advance."
          },
          "arrivalDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/ArrivalDaysOfWeekRateQualifier_Supplier",
            "description" : "Restrict promotion to specific days of the week the guest is arriving."
          },
          "availableDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/AvailableDaysOfWeekRateQualifier_Supplier",
            "description" : "Restrict promotion to specific days of the week the promotion is available."
          },
          "blackoutDates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BlackoutDate"
            }
          },
          "cityRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CityRateQualifierLightweight"
            }
          },
          "continentRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ContinentRateQualifier"
            }
          },
          "countryRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CountryRateQualifier"
            }
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "departureDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/DepartureDaysOfWeekRateQualifier_Supplier",
            "description" : "Restrict promotion to specific days of the week the guest is departing."
          },
          "descriptions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription"
            },
            "minItems" : 1
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this promotion is enabled or not.",
            "example" : true
          },
          "geoLocationRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GeoLocationRateQualifier"
            }
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier of the property this promotion belongs to.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "ipRangeRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/IPRangeRateQualifier"
            }
          },
          "lastMinuteRateQualifier" : {
            "$ref" : "#/components/schemas/MinutesBeforeBookingStartDateRateQualifier_Supplier",
            "description" : "Restrict promotion to users who want to book a room close to the date."
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lengthOfStayRateQualifier" : {
            "$ref" : "#/components/schemas/LengthOfStayRateQualifier_Supplier",
            "description" : "Restrict promotion to users who want to stay a certain number of days."
          },
          "masterRateIdentifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Master rate identifier",
              "example" : "770e8400-e29b-41d4-a716-446655440222"
            }
          },
          "modifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "The discount or premium amount and its type (fixed or percentage)."
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of promotion.",
            "example" : "Early bird",
            "minLength" : 1
          },
          "prepayRateQualifier" : {
            "$ref" : "#/components/schemas/PrepayRateQualifier_Supplier",
            "description" : "Restrict promotion to either prepaid / non-prepaid rates."
          },
          "pricingType" : {
            "type" : "string",
            "description" : "This determines whether this discount should be applied per night, per stay or per person - per night",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_PERSON_PER_NIGHT"
          },
          "promotionRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PromotionRateQualifier"
            }
          },
          "ratePlanIdentifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Rate plan identifier",
              "example" : "990e8400-e29b-41d4-a716-446655440444"
            }
          },
          "refundableRateQualifier" : {
            "$ref" : "#/components/schemas/RefundableRateQualifier_Supplier",
            "description" : "Restrict promotion to either refundable / non-refundable rates."
          },
          "requiredDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/RequiredDaysOfWeekRateQualifier_Supplier",
            "description" : "Restrict promotion to specific days of the week the guest has to stay."
          },
          "roomRangeRateQualifier" : {
            "$ref" : "#/components/schemas/RoomRangeRateQualifier_Supplier",
            "description" : "Restrict promotion by restricting to how many rooms the user wants."
          },
          "sellDateRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SellDateRateQualifier"
            }
          },
          "stayDateRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/StayDateRateQualifier"
            }
          },
          "timezoneRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TimezoneRateQualifier"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Set whether you want the price to go up or down when the rules of this promotion have been satisfied.",
            "enum" : [ "PREMIUM", "DISCOUNT" ],
            "example" : "DISCOUNT"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "descriptions", "enabled", "hotelIdentifier", "id", "modifier", "name", "pricingType", "type" ]
      },
      "CityRateQualifierLightweight" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific city.",
        "example" : {
          "city" : {
            "countryCode" : "TH",
            "geoNameId" : "1609350",
            "latitude" : 13.7563,
            "longitude" : 100.5018,
            "name" : "Bangkok"
          }
        },
        "properties" : {
          "city" : {
            "$ref" : "#/components/schemas/GeoIpLightweight",
            "description" : "City details (obtained via geonames) to restrict the promotion by guest location."
          }
        },
        "required" : [ "city" ]
      },
      "GeoIpLightweight" : {
        "type" : "object",
        "description" : "Uses MaxMind's city lite db to persist GeoIpLightweight objects in our own db.",
        "example" : {
          "cityName" : "Bangkok",
          "continentCode" : "AS",
          "continentName" : "Asia",
          "countryIsoCode" : "TH",
          "countryName" : "Thailand",
          "geoNameId" : "1609350",
          "localeCode" : "en",
          "subDivision1Code" : "10",
          "subDivision1Name" : "Bangkok",
          "subDivision2Code" : "1001",
          "subDivision2Name" : "Phra Nakhon",
          "timezone" : "Asia/Bangkok"
        },
        "properties" : {
          "cityName" : {
            "type" : "string",
            "description" : "City name",
            "example" : "New York",
            "minLength" : 1
          },
          "continentCode" : {
            "type" : "string",
            "description" : "Continent code",
            "example" : "NA",
            "minLength" : 1
          },
          "continentName" : {
            "type" : "string",
            "description" : "Continent name",
            "example" : "North America",
            "minLength" : 1
          },
          "countryIsoCode" : {
            "type" : "string",
            "description" : "Country ISO code",
            "example" : "US",
            "minLength" : 1,
            "pattern" : "^[A-Z]{2}$"
          },
          "countryName" : {
            "type" : "string",
            "description" : "Country name",
            "example" : "United States",
            "minLength" : 1
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "GeoNameLightweight identifiers taken from [https://geonames.org](https://geonames.org).",
            "example" : "8798734",
            "minLength" : 1
          },
          "localeCode" : {
            "type" : "string",
            "description" : "Locale code",
            "example" : "en",
            "minLength" : 1,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "subDivision1Code" : {
            "type" : "string",
            "description" : "Sub-division 1 code",
            "example" : "NY"
          },
          "subDivision1Name" : {
            "type" : "string",
            "description" : "Sub-division 1 name",
            "example" : "NY"
          },
          "subDivision2Code" : {
            "type" : "string",
            "description" : "Sub-division 2 code",
            "example" : "Kings"
          },
          "subDivision2Name" : {
            "type" : "string",
            "description" : "Sub-division 2 name",
            "example" : "Kings County"
          },
          "timezone" : {
            "type" : "string",
            "description" : "Timezone",
            "example" : "America/New_York",
            "minLength" : 1
          }
        },
        "required" : [ "cityName", "continentCode", "continentName", "countryIsoCode", "countryName", "geoNameId", "localeCode", "timezone" ]
      },
      "ContinentRateQualifier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific continent.",
        "example" : {
          "continent" : "NA"
        },
        "properties" : {
          "continent" : {
            "type" : "string",
            "description" : "Two-letter continent code (e.g. NA, EU, AS)",
            "example" : "NA",
            "minLength" : 1
          }
        },
        "required" : [ "continent" ]
      },
      "CountryRateQualifier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests whose IP geolocation resolves to a specific country.",
        "example" : {
          "country" : {
            "continentCode" : "AS",
            "geoNameId" : "1609350",
            "isoAlpha2" : "TH",
            "isoAlpha3" : "THA",
            "name" : "Thailand"
          }
        },
        "properties" : {
          "country" : {
            "$ref" : "#/components/schemas/GeoNameCountry",
            "description" : "Country (obtained via geonames) to restrict the promotion by guest location."
          }
        },
        "required" : [ "country" ]
      },
      "GeoNameCountry" : {
        "type" : "object",
        "description" : "Country geographic data from GeoNames",
        "example" : {
          "continentCode" : "AS",
          "continentName" : "Asia",
          "countryIsoCode" : "TH",
          "countryName" : "Thailand",
          "geoNameId" : "1609350"
        },
        "properties" : {
          "continentCode" : {
            "type" : "string",
            "description" : "Continent code (two-letter ISO)",
            "example" : "AS"
          },
          "continentName" : {
            "type" : "string",
            "description" : "Continent name",
            "example" : "Asia"
          },
          "countryIsoCode" : {
            "type" : "string",
            "description" : "Country ISO 3166-1 alpha-2 code",
            "example" : "TH",
            "pattern" : "^[A-Z]{2}$"
          },
          "countryName" : {
            "type" : "string",
            "description" : "Country name",
            "example" : "Thailand"
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "GeoNames identifier",
            "example" : "1609350"
          }
        }
      },
      "PromotionRateQualifier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests who enter a specific promotional code at checkout.",
        "example" : {
          "promotion" : "EARLYBIRD2026"
        },
        "properties" : {
          "promotion" : {
            "type" : "string",
            "description" : "Promo code that guests must enter to access this promotion.",
            "example" : "EARLYBIRD2026",
            "minLength" : 1
          }
        },
        "required" : [ "promotion" ]
      },
      "IPRangeRateQualifier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests whose IP address falls within a specified IPv4 range.",
        "example" : {
          "endIPRange" : "192.168.1.255",
          "startIPRange" : "192.168.1.0"
        },
        "properties" : {
          "endIPRange" : {
            "type" : "string",
            "description" : "Ending IP address of the range (inclusive).",
            "example" : "192.168.1.255",
            "minLength" : 1
          },
          "startIPRange" : {
            "type" : "string",
            "description" : "Starting IP address of the range (inclusive).",
            "example" : "192.168.1.0",
            "minLength" : 1
          }
        },
        "required" : [ "endIPRange", "startIPRange" ]
      },
      "TimezoneRateQualifier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests whose system timezone matches the specified IANA timezone name.",
        "example" : {
          "timezone" : "Asia/Bangkok"
        },
        "properties" : {
          "timezone" : {
            "type" : "string",
            "description" : "IANA timezone name of the booker's location (e.g. Asia/Bangkok).",
            "example" : "Asia/Bangkok",
            "minLength" : 1
          }
        },
        "required" : [ "timezone" ]
      },
      "StayDateRateQualifier" : {
        "type" : "object",
        "description" : "Rate qualifier that restricts a promotion to guests whose stay falls within a specific date range.",
        "example" : {
          "effectiveDate" : "2026-06-01",
          "expireDate" : "2026-08-31"
        },
        "properties" : {
          "effectiveDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Promotion applies when guest's stay starts on or after this date (inclusive).",
            "example" : "2026-06-01"
          },
          "expireDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Promotion applies when guest's stay starts on or before this date (inclusive).",
            "example" : "2026-08-31"
          }
        },
        "required" : [ "effectiveDate", "expireDate" ]
      },
      "SellDateRateQualifier" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to bookings made within a specific date window.",
        "example" : {
          "effectiveDate" : "2026-05-01",
          "expireDate" : "2026-08-31"
        },
        "properties" : {
          "effectiveDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Promotion is available when the booking is made on or after this date (inclusive).",
            "example" : "2026-05-01"
          },
          "expireDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Promotion is available when the booking is made on or before this date (inclusive).",
            "example" : "2026-08-31"
          }
        },
        "required" : [ "effectiveDate", "expireDate" ]
      },
      "BlackoutDate" : {
        "type" : "object",
        "description" : "A date range during which a promotion is not available (blackout period).",
        "example" : {
          "effectiveDate" : "2026-04-13",
          "expireDate" : "2026-04-15"
        },
        "properties" : {
          "effectiveDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start date when the promotion is not available (inclusive).",
            "example" : "2026-04-13"
          },
          "expireDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "End date when the promotion is not available (inclusive).",
            "example" : "2026-04-15"
          }
        },
        "required" : [ "effectiveDate", "expireDate" ]
      },
      "UpsertSpecialRateBundleRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for creating or updating a promotion bundle (a combination of two or more individual promotions).",
        "example" : {
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "enabled" : true,
          "itemIdentifiers" : [ "550e8400-e29b-41d4-a716-446655440000" ],
          "modifierOverride" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "name" : "Early Bird - Long Term",
          "pricingType" : "PER_NIGHT",
          "type" : "DISCOUNT"
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Optional: custom localized descriptions for this bundle. If provided, these replace the aggregated descriptions from individual promotions.",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_Supplier"
            }
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Enable or disable the bundle without deleting it.",
            "example" : true
          },
          "itemIdentifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Identifiers of two or more individual promotions to bundle together.",
              "example" : "550e8400-e29b-41d4-a716-446655440000",
              "title" : "Promotion IDs"
            },
            "maxItems" : 2147483647,
            "minItems" : 2
          },
          "modifierOverride" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "Optional: override the individual promotions' discount/premium with a single value for the bundle."
          },
          "name" : {
            "type" : "string",
            "description" : "Display name for this bundle of promotions.",
            "example" : "Early Bird - Long Term",
            "minLength" : 1
          },
          "pricingType" : {
            "type" : "string",
            "description" : "Required only if overriding the combined discount with a single value. Determines how it is applied: per night, per stay, or per guest.",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_NIGHT"
          },
          "type" : {
            "type" : "string",
            "description" : "Required only if overriding the combined discount with a single value.",
            "enum" : [ "PREMIUM", "DISCOUNT" ],
            "example" : "DISCOUNT"
          }
        },
        "required" : [ "enabled", "itemIdentifiers", "name" ]
      },
      "SpecialRateBundleLightweight_Supplier" : {
        "type" : "object",
        "description" : "A lightweight projection of a promotion bundle containing the full set of qualifying conditions and metadata.",
        "example" : {
          "aggregatedItemDescriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "createdDate" : "2026-01-14T09:30:00",
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "effectiveDescriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "enabled" : true,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "items" : [ {
            "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
            "advanceBookingRateQualifier" : {
              "maxAdvanceBookingOffset" : 365,
              "minAdvanceBookingOffset" : 7
            },
            "arrivalDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "availableDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "blackoutDates" : [ {
              "effectiveDate" : "2026-04-13",
              "expireDate" : "2026-04-15"
            } ],
            "cityRateQualifiers" : [ {
              "city" : {
                "countryCode" : "TH",
                "geoNameId" : "1609350",
                "latitude" : 13.7563,
                "longitude" : 100.5018,
                "name" : "Bangkok"
              }
            } ],
            "continentRateQualifiers" : [ {
              "continent" : "NA"
            } ],
            "countryRateQualifiers" : [ {
              "country" : {
                "continentCode" : "AS",
                "geoNameId" : "1609350",
                "isoAlpha2" : "TH",
                "isoAlpha3" : "THA",
                "name" : "Thailand"
              }
            } ],
            "createdDate" : "2026-01-14T09:30:00",
            "departureDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "enabled" : true,
            "geoLocationRateQualifiers" : [ {
              "latitude" : 13.7563,
              "longitude" : 100.5018,
              "radiusInKilometers" : 50
            } ],
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "ipRangeRateQualifiers" : [ {
              "endIPRange" : "192.168.1.255",
              "startIPRange" : "192.168.1.0"
            } ],
            "lastMinuteRateQualifier" : {
              "seconds" : 1440
            },
            "lastUpdate" : "2026-02-03T16:45:12",
            "lengthOfStayRateQualifier" : {
              "maxLOS" : 30,
              "minLOS" : 3
            },
            "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
            "modifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "name" : "Early bird",
            "prepayRateQualifier" : {
              "prepay" : true
            },
            "pricingType" : "PER_PERSON_PER_NIGHT",
            "promotionRateQualifiers" : [ {
              "promotion" : "EARLYBIRD2026"
            } ],
            "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
            "refundableRateQualifier" : {
              "refundable" : true
            },
            "requiredDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "roomRangeRateQualifier" : {
              "maxRooms" : 4,
              "minRooms" : 1
            },
            "sellDateRateQualifiers" : [ {
              "effectiveDate" : "2026-05-01",
              "expireDate" : "2026-08-31"
            } ],
            "stayDateRateQualifiers" : [ {
              "effectiveDate" : "2026-06-01",
              "expireDate" : "2026-08-31"
            } ],
            "timezoneRateQualifiers" : [ {
              "timezone" : "Asia/Bangkok"
            } ],
            "type" : "DISCOUNT",
            "version" : 3
          } ],
          "lastUpdate" : "2026-02-03T16:45:12",
          "modifierOverride" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "name" : "Early bird - Long Term",
          "pricingType" : "PER_NIGHT",
          "type" : "DISCOUNT",
          "version" : 3
        },
        "properties" : {
          "aggregatedItemDescriptions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_Supplier"
            }
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Optional bundle-level descriptions. When populated, these replace the aggregated item descriptions in offerDetails.",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_Supplier"
            }
          },
          "effectiveDescriptions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_Supplier"
            }
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this promotion ancillary is enabled or not.",
            "example" : true
          },
          "hasFixedDiscountModifier" : {
            "type" : "boolean"
          },
          "hasPercentDiscountModifier" : {
            "type" : "boolean"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "isValid" : {
            "type" : "boolean",
            "writeOnly" : true
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SpecialRateLightweight_Supplier",
              "description" : "Promotions that go together to make up this ancillary."
            },
            "minItems" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "modifierOverride" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "Optional: override the combined discount of all bundle items with a single fixed or percentage amount."
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of promotion ancillary.",
            "example" : "Early bird - Long Term",
            "minLength" : 1
          },
          "pricingType" : {
            "type" : "string",
            "description" : "Determines whether this discount should be applied per night, per stay or per person - per night; Required if amount override is not null",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_NIGHT"
          },
          "type" : {
            "type" : "string",
            "description" : "Required if manual override modifier is not null",
            "enum" : [ "PREMIUM", "DISCOUNT" ],
            "example" : "DISCOUNT"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "enabled", "hotelIdentifier", "id", "items", "name" ]
      },
      "UpsertBulkRateRequest_Supplier" : {
        "type" : "object",
        "description" : "Bulk rate update request to apply consistent changes to a date range for one master rate",
        "example" : {
          "closedOnArrival" : false,
          "closedOnDeparture" : false,
          "endDate" : "2026-01-31",
          "extraChildRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "extraPaxRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "master" : true,
          "maxLengthOfStay" : 30,
          "minLengthOfStay" : 2,
          "numberOfUnits" : 8,
          "rate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "rateSource" : "NONE",
          "singleOccupancyRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "startDate" : "2026-01-14"
        },
        "properties" : {
          "closedOnArrival" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether guests cannot check in during this date range (Closed on Arrival)",
            "example" : false
          },
          "closedOnDeparture" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether guests cannot check out during this date range (Closed on Departure)",
            "example" : false
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "End date (inclusive) for the bulk rate update",
            "example" : "2026-01-31"
          },
          "extraChildRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "Rate modifier for extra child guests during this date range"
          },
          "extraPaxRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "Rate modifier for extra adult guests during this date range"
          },
          "master" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether the rate is available for booking during this date range",
            "example" : true
          },
          "maxLengthOfStay" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum length of stay (in days) allowed for arrivals within this date range. Omit to keep current maximum unchanged.",
            "example" : 30
          },
          "minLengthOfStay" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum length of stay (in days) required for arrivals within this date range. Omit to keep current minimum unchanged.",
            "example" : 2
          },
          "numberOfUnits" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of available rooms for each day in this date range. Omit to keep current inventory unchanged.",
            "example" : 8
          },
          "rate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Nightly rate amount for this date range. Omit to keep current rate unchanged."
          },
          "rateSource" : {
            "type" : "string",
            "default" : "NONE",
            "description" : "Source of the rate update. Use NONE for property-managed rates, or specify channel manager identifier",
            "example" : "NONE"
          },
          "singleOccupancyRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier",
            "description" : "Rate modifier for single occupancy bookings during this date range"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start date (inclusive) for the bulk rate update",
            "example" : "2026-01-14"
          }
        },
        "required" : [ "closedOnArrival", "closedOnDeparture", "endDate", "master", "rateSource", "startDate" ]
      },
      "TransactionalTravelInventory_Supplier" : {
        "type" : "object",
        "description" : "This is one bookable item that can stand alongside a restaurant / meeting room etc.",
        "example" : {
          "basePrice" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "discountedPrice" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "maxPax" : 10,
          "minPax" : 2,
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "1 hour session",
          "percentDiscount" : 0.1,
          "percentPremium" : 0.1,
          "pricingType" : "PER_NIGHT"
        },
        "properties" : {
          "basePrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base price of booking this inventory."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            },
            "maxItems" : 2147483647,
            "minItems" : 1
          },
          "discountedPrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "If you are selling this inventory at a discount, indicate the discounted selling price. Leave empty if there is no discount."
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique transactional identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "maxPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Whether there is a limit to maximum group size.",
            "example" : 10,
            "minimum" : 0
          },
          "minPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Whether there is a limit to minimum group size.",
            "example" : 2,
            "minimum" : 0
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of item.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of transactional blocking.",
            "example" : "1 hour session",
            "minLength" : 1
          },
          "percentDiscount" : {
            "type" : "number",
            "description" : "Calculates the percent difference between basePrice and discountedPrice.",
            "example" : 0.1
          },
          "percentPremium" : {
            "type" : "number",
            "description" : "Calculates the percent difference between basePrice and discountedPrice.",
            "example" : 0.1
          },
          "pricingType" : {
            "type" : "string",
            "description" : "How this inventory item should be priced.",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_NIGHT"
          }
        },
        "required" : [ "basePrice", "descriptions", "discountedPrice", "identifier", "name", "pricingType" ]
      },
      "UpsertSimpleDescription_Supplier" : {
        "type" : "object",
        "example" : {
          "description" : "This is a longer description in the specified language.",
          "language" : "en",
          "name" : "An example title"
        },
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Longer text description",
            "example" : "This is a longer description in the specified language.",
            "maxLength" : 2147483647,
            "minLength" : 1
          },
          "language" : {
            "type" : "string",
            "default" : "en",
            "description" : "Indicate which language this description is written in.",
            "example" : "en",
            "maxLength" : 2,
            "minLength" : 2,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "name" : {
            "type" : "string",
            "description" : "Use as title or short text description",
            "example" : "An example title"
          }
        },
        "required" : [ "description", "language", "name" ]
      },
      "UpsertSpaRequest_Supplier" : {
        "type" : "object",
        "description" : "Base request payload for creating or updating a time-aware travel inventory item, extending the common request with seasonal date ranges, opening hours, and day-of-week schedule.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ],
          "featuredInd" : false,
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Optional. When omitted, it falls back to the inventory's current address and then to the property's address, so a third party creating inventory through the API does not have to supply one."
          },
          "amenities" : {
            "type" : "array",
            "description" : "OTA specification codes for spa amenities (massage types, facilities, wellness offerings, etc.)",
            "items" : {
              "type" : "string"
            }
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Optional. Geo-location point where this inventory sits. When omitted, it falls back to the inventory's current location and then to the property's location, so a third party creating inventory through the API does not have to supply one.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "Optional; may be empty. Already-uploaded images / videos to attach. To upload binary media instead, create the inventory first and then POST multipart files to this inventory's `/multimedia` endpoint, which uploads to the CDN server-side.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of blocking.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          }
        },
        "required" : [ "active", "bookable", "commissionable", "descriptions", "featuredInd", "name", "pricePoint" ]
      },
      "SpaLightweight_Supplier" : {
        "type" : "object",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Defaults to property address."
          },
          "amenities" : {
            "type" : "array",
            "description" : "OTA specification codes for spa amenities (massage types, facilities, wellness offerings, etc.)",
            "items" : {
              "type" : "string"
            }
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "bookable", "commissionable", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "location", "multimedias", "name", "pricePoint", "proximityCode" ]
      },
      "UpsertTransactionalItemRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for creating or updating a transactional inventory item (add-on) for a spa.",
        "example" : {
          "basePrice" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "discountedPrice" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "maxPax" : 10,
          "minPax" : 0,
          "name" : "1 hour spa session",
          "pricingType" : "PER_STAY"
        },
        "properties" : {
          "basePrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base price of booking this item."
          },
          "discountedPrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Discounted selling price. Set equal to basePrice if there is no discount."
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique transactional item identifier.",
            "minLength" : 1
          },
          "maxPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum group size for this item.",
            "example" : 10,
            "minimum" : 0
          },
          "minPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum group size for this item.",
            "example" : 0,
            "minimum" : 0
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of the transactional item.",
            "example" : "1 hour spa session",
            "minLength" : 1
          },
          "pricingType" : {
            "type" : "string",
            "description" : "How this item should be priced.",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_STAY"
          }
        },
        "required" : [ "basePrice", "discountedPrice", "identifier", "name", "pricingType" ]
      },
      "Bed_Supplier" : {
        "type" : "object",
        "description" : "A single bed type and its quantity within a bedroom, described using the OpenTravel bed type code.",
        "example" : {
          "bedTypeCode" : "1",
          "quantity" : 2
        },
        "properties" : {
          "bedTypeCode" : {
            "type" : "string",
            "description" : "OpenTravel bed type code (e.g., 1=Double, 2=Twin, 7=Queen, 8=King). See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "example" : "1",
            "minLength" : 1
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of beds of this type in the room.",
            "example" : 2,
            "minimum" : 1
          }
        },
        "required" : [ "bedTypeCode", "quantity" ]
      },
      "BedroomConfiguration_Supplier" : {
        "type" : "object",
        "description" : "A named bedroom layout configuration for a room type, containing one or more bedrooms each with their own bed setup.",
        "example" : {
          "bedroomList" : [ {
            "bedList" : [ {
              "bedTypeCode" : "1",
              "quantity" : 2
            } ],
            "type" : "MASTER"
          } ],
          "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "name" : "Master Suite Layout"
        },
        "properties" : {
          "bedroomList" : {
            "type" : "array",
            "description" : "List of bedrooms within this configuration layout.",
            "items" : {
              "$ref" : "#/components/schemas/Bedroom_Supplier"
            },
            "minItems" : 1
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this bedroom configuration layout.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Human-readable name of this room layout configuration.",
            "example" : "Master Suite Layout",
            "minLength" : 1
          }
        },
        "required" : [ "bedroomList", "identifier", "name" ]
      },
      "Bedroom_Supplier" : {
        "type" : "object",
        "description" : "A single bedroom within a room type, specifying the bedroom type and its bed configuration.",
        "example" : {
          "bedList" : [ {
            "bedTypeCode" : "1",
            "quantity" : 2
          } ],
          "type" : "MASTER"
        },
        "properties" : {
          "bedList" : {
            "type" : "array",
            "description" : "List of bed configurations for this bedroom. Each entry specifies a bed type and quantity.",
            "items" : {
              "$ref" : "#/components/schemas/Bed_Supplier"
            },
            "minItems" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Bedroom type classification (e.g., MASTER, QUEEN, JUNIOR, DORMITORY, BEDROOM_1...BEDROOM_10).",
            "enum" : [ "MASTER", "QUEEN", "JUNIOR", "DORMITORY", "BEDROOM_1", "BEDROOM_2", "BEDROOM_3", "BEDROOM_4", "BEDROOM_5", "BEDROOM_6", "BEDROOM_7", "BEDROOM_8", "BEDROOM_9", "BEDROOM_10" ],
            "example" : "MASTER"
          }
        },
        "required" : [ "bedList", "type" ]
      },
      "UpsertRoomTypeRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for creating or updating a room type, including occupancy, bed configurations, size, OTA classification codes, and pricing.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "baseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "bathroomCount" : 0,
          "bedroomConfigurationList" : [ {
            "bedroomList" : [ {
              "bedList" : [ {
                "bedTypeCode" : "1",
                "quantity" : 2
              } ],
              "type" : "MASTER"
            } ],
            "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "name" : "Master Suite Layout"
          } ],
          "bookable" : true,
          "commissionable" : true,
          "composite" : false,
          "compositeCount" : 2,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ],
          "featuredInd" : false,
          "floor" : "3",
          "includedAdultOccupancy" : 2,
          "includedChildOccupancy" : 0,
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "livingRoomCount" : 0,
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "maxAdultOccupancy" : 1,
          "maxChildOccupancy" : 0,
          "maxCribs" : 1,
          "maxOccupancy" : 2,
          "maxRollaways" : 0,
          "minAgeAppropriateCode" : "1",
          "minOccupancy" : 1,
          "minRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "nonSmoking" : true,
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "quantity" : 40,
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "roomArchitectureCode" : "1",
          "roomCategory" : "1",
          "roomClassificationCode" : "1",
          "roomGender" : "Female",
          "roomLocationCode" : "1",
          "roomViewCode" : "1",
          "sharedRoomInd" : false,
          "size" : 55,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Optional. When omitted, it falls back to the inventory's current address and then to the property's address, so a third party creating inventory through the API does not have to supply one."
          },
          "amenities" : {
            "type" : "array",
            "description" : "OpenTravel room amenity codes (e.g., 1=Balcony, 7=Air Conditioning). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "baseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate during regular remand period"
          },
          "bathroomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of bathrooms",
            "example" : 0,
            "minimum" : 0
          },
          "bedroomConfigurationList" : {
            "type" : "array",
            "description" : "A room type can have more than one bed configuration.",
            "items" : {
              "$ref" : "#/components/schemas/BedroomConfiguration_Supplier"
            },
            "minItems" : 1
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "composite" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates that the room (suite) is a composite of smaller units.",
            "example" : false
          },
          "compositeCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of rooms of this room type that makes up a larger unit (composite) such as a two bedroom suite could be comprised of two king rooms plus other room types. A 0 means disabled.",
            "example" : 2,
            "minimum" : 0
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "floor" : {
            "type" : "string",
            "description" : "Floor number on which this room type is located.",
            "example" : "3"
          },
          "includedAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "The number of pax the room price was meant for",
            "example" : 2,
            "minimum" : 0
          },
          "includedChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of children the room price was meant for",
            "example" : 0,
            "minimum" : 0
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "livingRoomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of living rooms",
            "example" : 0,
            "minimum" : 0
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Optional. Geo-location point where this inventory sits. When omitted, it falls back to the inventory's current location and then to the property's location, so a third party creating inventory through the API does not have to supply one.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "maxAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of adults allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "maxChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of children allowed in a room type.",
            "example" : 0,
            "minimum" : 0
          },
          "maxCribs" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of cribs allowed in a room type.",
            "example" : 1,
            "minimum" : 0
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of guest allowed in a room type.",
            "example" : 2,
            "minimum" : 1
          },
          "maxRollaways" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of rollaway beds allowed in this room type.",
            "example" : 0,
            "minimum" : 0
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Minimum number of guests allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "minRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate in a distressed period"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "Optional; may be empty. Already-uploaded images / videos to attach. To upload binary media instead, create the inventory first and then POST multipart files to this inventory's `/multimedia` endpoint, which uploads to the CDN server-side.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of blocking.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "nonSmoking" : {
            "type" : "boolean",
            "description" : "Non-smoking indicator",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Defines the number of rooms of this type",
            "example" : 40,
            "minimum" : 1
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "roomArchitectureCode" : {
            "type" : "string",
            "description" : "OpenTravel architectural style code (e.g., 1=Modern, 2=Traditional, 3=Victorian). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomCategory" : {
            "type" : "string",
            "description" : "OpenTravel segment category code (e.g., 1=Moderate, 4=Standard, 8=Deluxe). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomClassificationCode" : {
            "type" : "string",
            "description" : "OpenTravel guest room info code (e.g., 1=Suite, 2=Standard, 12=Villa, 16=Bungalow). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomGender" : {
            "type" : "string",
            "default" : "Unknown",
            "description" : "Used to request or specify a gender assignment for a room. Note: Typically used by Hosteliers.",
            "enum" : [ "Male", "Female", "MaleAndFemale", "Unknown" ],
            "example" : "Female"
          },
          "roomLocationCode" : {
            "type" : "string",
            "description" : "OpenTravel room location type code (e.g., 1=Near Exit, 2=Close to Elevator, 3=Low Floor, 4=High Floor). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomViewCode" : {
            "type" : "string",
            "description" : "OpenTravel room view type code (e.g., 1=Ocean View, 2=Pool View, 3=Garden View). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "sharedRoomInd" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If TRUE, the room requires or has sharing available. Note: Typically used by Hosteliers.",
            "example" : false
          },
          "size" : {
            "type" : "number",
            "format" : "float",
            "description" : "Number of square meters that defines the size of this room type.",
            "example" : 55,
            "minimum" : 1
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          }
        },
        "required" : [ "active", "baseRate", "bathroomCount", "bedroomConfigurationList", "bookable", "commissionable", "composite", "compositeCount", "descriptions", "featuredInd", "includedAdultOccupancy", "includedChildOccupancy", "livingRoomCount", "maxAdultOccupancy", "maxChildOccupancy", "maxCribs", "maxOccupancy", "maxRollaways", "minOccupancy", "minRate", "name", "nonSmoking", "pricePoint", "quantity", "roomArchitectureCode", "roomCategory", "roomClassificationCode", "roomLocationCode", "roomViewCode", "sharedRoomInd", "size" ]
      },
      "GuestRoomLightweight_Supplier" : {
        "type" : "object",
        "description" : "A lightweight projection of a room type, carrying all occupancy, bedroom configuration, pricing and classification details needed for availability and booking flows.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "baseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "bathroomCount" : 0,
          "bedroomConfigurationList" : [ {
            "bedroomList" : [ {
              "bedList" : [ {
                "bedTypeCode" : "1",
                "quantity" : 2
              } ],
              "type" : "MASTER"
            } ],
            "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "name" : "Master Suite Layout"
          } ],
          "bookable" : true,
          "commissionable" : true,
          "composite" : false,
          "compositeCount" : 2,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "floor" : "3",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "includedAdultOccupancy" : 2,
          "includedChildOccupancy" : 0,
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "livingRoomCount" : 0,
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "maxAdultOccupancy" : 1,
          "maxChildOccupancy" : 0,
          "maxCribs" : 1,
          "maxOccupancy" : 2,
          "maxRollaways" : 0,
          "minAgeAppropriateCode" : "1",
          "minOccupancy" : 1,
          "minRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "nonSmoking" : true,
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "quantity" : 40,
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "roomArchitectureCode" : "1",
          "roomCategory" : "1",
          "roomClassificationCode" : "1",
          "roomGender" : "Female",
          "roomLocationCode" : "1",
          "roomViewCode" : "1",
          "sharedRoomInd" : false,
          "size" : 55,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Defaults to property address."
          },
          "amenities" : {
            "type" : "array",
            "description" : "OpenTravel room amenity codes (e.g., 1=Balcony, 7=Air Conditioning). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "baseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate during regular remand period"
          },
          "bathroomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of bathrooms",
            "example" : 0,
            "minimum" : 0
          },
          "bedroomConfigurationList" : {
            "type" : "array",
            "description" : "A room type can have more than one bed configuration.",
            "items" : {
              "$ref" : "#/components/schemas/BedroomConfiguration_Supplier"
            },
            "minItems" : 1
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "composite" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates that the room (suite) is a composite of smaller units.",
            "example" : false
          },
          "compositeCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of rooms of this room type that makes up a larger unit (composite) such as a two bedroom suite could be comprised of two king rooms plus other room types. A 0 means disabled.",
            "example" : 2,
            "minimum" : 0
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "floor" : {
            "type" : "string",
            "description" : "Floor number on which this room type is located.",
            "example" : "3"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "includedAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "The number of pax the room price was meant for",
            "example" : 2,
            "minimum" : 0
          },
          "includedChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of children the room price was meant for",
            "example" : 0,
            "minimum" : 0
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "livingRoomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of living rooms",
            "example" : 0,
            "minimum" : 0
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "maxAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of adults allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "maxChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of children allowed in a room type.",
            "example" : 0,
            "minimum" : 0
          },
          "maxCribs" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of cribs allowed in a room type.",
            "example" : 1,
            "minimum" : 0
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of guest allowed in a room type.",
            "example" : 2,
            "minimum" : 1
          },
          "maxRollaways" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of rollaway beds allowed in this room type.",
            "example" : 0,
            "minimum" : 0
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Minimum number of guests allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "minRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate in a distressed period"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "nonSmoking" : {
            "type" : "boolean",
            "description" : "Non-smoking indicator",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Defines the number of rooms of this type",
            "example" : 40,
            "minimum" : 1
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "roomArchitectureCode" : {
            "type" : "string",
            "description" : "OpenTravel architectural style code (e.g., 1=Modern, 2=Traditional, 3=Victorian). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomCategory" : {
            "type" : "string",
            "description" : "OpenTravel segment category code (e.g., 1=Moderate, 4=Standard, 8=Deluxe). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomClassificationCode" : {
            "type" : "string",
            "description" : "OpenTravel guest room info code (e.g., 1=Suite, 2=Standard, 12=Villa, 16=Bungalow). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomGender" : {
            "type" : "string",
            "default" : "Unknown",
            "description" : "Used to request or specify a gender assignment for a room. Note: Typically used by Hosteliers.",
            "enum" : [ "Male", "Female", "MaleAndFemale", "Unknown" ],
            "example" : "Female"
          },
          "roomLocationCode" : {
            "type" : "string",
            "description" : "OpenTravel room location type code (e.g., 1=Near Exit, 2=Close to Elevator, 3=Low Floor, 4=High Floor). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomViewCode" : {
            "type" : "string",
            "description" : "OpenTravel room view type code (e.g., 1=Ocean View, 2=Pool View, 3=Garden View). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "sharedRoomInd" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If TRUE, the room requires or has sharing available. Note: Typically used by Hosteliers.",
            "example" : false
          },
          "size" : {
            "type" : "number",
            "format" : "float",
            "description" : "Number of square meters that defines the size of this room type.",
            "example" : 55,
            "minimum" : 1
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "baseRate", "bathroomCount", "bedroomConfigurationList", "bookable", "commissionable", "composite", "compositeCount", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "includedAdultOccupancy", "includedChildOccupancy", "livingRoomCount", "location", "maxAdultOccupancy", "maxChildOccupancy", "maxCribs", "maxOccupancy", "maxRollaways", "minOccupancy", "minRate", "multimedias", "name", "nonSmoking", "pricePoint", "proximityCode", "quantity", "roomArchitectureCode", "roomCategory", "roomClassificationCode", "roomLocationCode", "roomViewCode", "sharedRoomInd", "size" ]
      },
      "ImproveRoomTypeRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload supplying the existing room type title and description for AI-driven copy improvement.",
        "example" : {
          "description" : "A spacious deluxe room with stunning ocean views, king bed, and private balcony.",
          "title" : "Deluxe Ocean View Room"
        },
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Existing room type description to be improved by AI.",
            "example" : "A spacious deluxe room with stunning ocean views, king bed, and private balcony."
          },
          "title" : {
            "type" : "string",
            "description" : "Existing room type title to be improved by AI.",
            "example" : "Deluxe Ocean View Room"
          }
        }
      },
      "ImproveRoomTypeResponse_Supplier" : {
        "type" : "object",
        "description" : "AI-generated improvements for the room type title and descriptive copy.",
        "example" : {
          "description" : "Indulge in breathtaking panoramic ocean views from this elegantly appointed deluxe suite, featuring a plush king bed, a private balcony, and refined Thai-inspired décor.",
          "title" : "Spectacular Deluxe Ocean-View Suite"
        },
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "AI-improved room type description.",
            "example" : "Indulge in breathtaking panoramic ocean views from this elegantly appointed deluxe suite, featuring a plush king bed, a private balcony, and refined Thai-inspired décor."
          },
          "title" : {
            "type" : "string",
            "description" : "AI-improved room type title.",
            "example" : "Spectacular Deluxe Ocean-View Suite"
          }
        },
        "required" : [ "title" ]
      },
      "UpsertRestaurantRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for creating or updating a restaurant amenity on a hotel property.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ],
          "featuredInd" : false,
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "maxSeatingCapacity" : 100,
          "maxSingleParty" : 10,
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "offerBreakfast" : true,
          "offerBrunch" : true,
          "offerDinner" : true,
          "offerLunch" : true,
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Optional. When omitted, it falls back to the inventory's current address and then to the property's address, so a third party creating inventory through the API does not have to supply one."
          },
          "amenities" : {
            "type" : "array",
            "description" : "Supported OTA specification `RSI` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "cuisineCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `CUI` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "infoCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `RES` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Optional. Geo-location point where this inventory sits. When omitted, it falls back to the inventory's current location and then to the property's location, so a third party creating inventory through the API does not have to supply one.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "maxSeatingCapacity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Restaurant supports these many people.",
            "example" : 100,
            "minimum" : 1
          },
          "maxSingleParty" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Largest table at restaurant.",
            "example" : 10,
            "minimum" : 1
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "Optional; may be empty. Already-uploaded images / videos to attach. To upload binary media instead, create the inventory first and then POST multipart files to this inventory's `/multimedia` endpoint, which uploads to the CDN server-side.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of blocking.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "offerBreakfast" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers breakfast.",
            "example" : true
          },
          "offerBrunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers brunch.",
            "example" : true
          },
          "offerDinner" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers dinner.",
            "example" : true
          },
          "offerLunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers lunch.",
            "example" : true
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          }
        },
        "required" : [ "active", "bookable", "commissionable", "descriptions", "featuredInd", "maxSeatingCapacity", "maxSingleParty", "name", "offerBreakfast", "offerBrunch", "offerDinner", "offerLunch", "pricePoint" ]
      },
      "RestaurantLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a restaurant amenity, carrying the same core data as Restaurant but used in listing and search contexts.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "maxSeatingCapacity" : 100,
          "maxSingleParty" : 10,
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "offerBreakfast" : true,
          "offerBrunch" : true,
          "offerDinner" : true,
          "offerLunch" : true,
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Defaults to property address."
          },
          "amenities" : {
            "type" : "array",
            "description" : "Supported OTA specification `RSI` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "cuisineCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `CUI` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "infoCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `RES` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "maxSeatingCapacity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Restaurant supports these many people.",
            "example" : 100,
            "minimum" : 1
          },
          "maxSingleParty" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Largest table at restaurant.",
            "example" : 10,
            "minimum" : 1
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "offerBreakfast" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers breakfast.",
            "example" : true
          },
          "offerBrunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers brunch.",
            "example" : true
          },
          "offerDinner" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers dinner.",
            "example" : true
          },
          "offerLunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers lunch.",
            "example" : true
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "bookable", "commissionable", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "location", "maxSeatingCapacity", "maxSingleParty", "multimedias", "name", "offerBreakfast", "offerBrunch", "offerDinner", "offerLunch", "pricePoint", "proximityCode" ]
      },
      "UpsertMeetingRoomRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for creating or updating a meeting room with all physical attributes, access controls, and inventory details",
        "example" : {
          "access" : "MEETING_ROOM_ACCESS_PUBLIC",
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "area" : 100,
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "dedicatedInd" : false,
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ],
          "featuredInd" : false,
          "height" : 4,
          "irregular" : true,
          "length" : 5,
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "meetingRoomCapacity" : 100,
          "meetingRoomLevel" : "LOBBY",
          "meetingRoomTypeCode" : [ "1" ],
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "width" : 5
        },
        "properties" : {
          "access" : {
            "type" : "string",
            "default" : "MEETING_ROOM_ACCESS_PRIVATE",
            "description" : "The type of access to the meeting space.",
            "example" : "MEETING_ROOM_ACCESS_PUBLIC"
          },
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Optional. When omitted, it falls back to the inventory's current address and then to the property's address, so a third party creating inventory through the API does not have to supply one."
          },
          "amenities" : {
            "type" : "array",
            "description" : "Supported OTA specification `MRC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "area" : {
            "type" : "number",
            "format" : "float",
            "description" : "Area (in square meters) of this meeting room.",
            "example" : 100,
            "minimum" : 1.0
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicate which days this inventory is open."
          },
          "dedicatedInd" : {
            "type" : "boolean",
            "description" : "When true, the room is used for a single purpose as indicated by the MeetingRoomTypeCode attribute.",
            "example" : false
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "height" : {
            "type" : "number",
            "format" : "float",
            "description" : "Height (in meters) of this meeting room.",
            "example" : 4,
            "minimum" : 1.0
          },
          "irregular" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Room has an irregular shape. If true, the room would be of a traditional square or rectangular shape.",
            "example" : true
          },
          "length" : {
            "type" : "number",
            "format" : "float",
            "description" : "Length (in meters) of this meeting room.",
            "example" : 5,
            "minimum" : 1.0
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Optional. Geo-location point where this inventory sits. When omitted, it falls back to the inventory's current location and then to the property's location, so a third party creating inventory through the API does not have to supply one.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "meetingRoomCapacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The total number of people permitted in the meeting room.",
            "example" : 100,
            "minimum" : 1
          },
          "meetingRoomLevel" : {
            "type" : "string",
            "description" : "Defines the level in the facility where the meeting room is located.",
            "example" : "LOBBY"
          },
          "meetingRoomTypeCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `MRF` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "example" : [ "1" ],
            "minLength" : 1
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "Optional; may be empty. Already-uploaded images / videos to attach. To upload binary media instead, create the inventory first and then POST multipart files to this inventory's `/multimedia` endpoint, which uploads to the CDN server-side.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of blocking.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          },
          "width" : {
            "type" : "number",
            "format" : "float",
            "description" : "Width (in meters) of this meeting room.",
            "example" : 5,
            "minimum" : 1.0
          }
        },
        "required" : [ "active", "area", "bookable", "commissionable", "dedicatedInd", "descriptions", "featuredInd", "height", "irregular", "length", "meetingRoomCapacity", "meetingRoomTypeCode", "name", "pricePoint", "width" ]
      },
      "MeetingRoomLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a meeting room, suitable for list views and search results, containing all core attributes without full document metadata",
        "example" : {
          "access" : "MEETING_ROOM_ACCESS_PUBLIC",
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "area" : 100,
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "dedicatedInd" : false,
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "height" : 4,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "irregular" : true,
          "lastUpdate" : "2026-02-03T16:45:12",
          "length" : 5,
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "meetingRoomCapacity" : 100,
          "meetingRoomLevel" : "LOBBY",
          "meetingRoomTypeCode" : [ "1" ],
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3,
          "width" : 5
        },
        "properties" : {
          "access" : {
            "type" : "string",
            "default" : "MEETING_ROOM_ACCESS_PRIVATE",
            "description" : "The type of access to the meeting space.",
            "example" : "MEETING_ROOM_ACCESS_PUBLIC"
          },
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Defaults to property address."
          },
          "amenities" : {
            "type" : "array",
            "description" : "Supported OTA specification `MRC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "area" : {
            "type" : "number",
            "format" : "float",
            "description" : "Area (in square meters) of this meeting room.",
            "example" : 100,
            "minimum" : 1.0
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicate which days this inventory is open."
          },
          "dedicatedInd" : {
            "type" : "boolean",
            "description" : "When true, the room is used for a single purpose as indicated by the MeetingRoomTypeCode attribute.",
            "example" : false
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "height" : {
            "type" : "number",
            "format" : "float",
            "description" : "Height (in meters) of this meeting room.",
            "example" : 4,
            "minimum" : 1.0
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "irregular" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Room has an irregular shape. If true, the room would be of a traditional square or rectangular shape.",
            "example" : true
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "length" : {
            "type" : "number",
            "format" : "float",
            "description" : "Length (in meters) of this meeting room.",
            "example" : 5,
            "minimum" : 1.0
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "meetingRoomCapacity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The total number of people permitted in the meeting room.",
            "example" : 100,
            "minimum" : 0
          },
          "meetingRoomLevel" : {
            "type" : "string",
            "description" : "Defines the level in the facility where the meeting room is located.",
            "example" : "LOBBY"
          },
          "meetingRoomTypeCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `MRF` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "example" : [ "1" ],
            "minLength" : 1
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          },
          "width" : {
            "type" : "number",
            "format" : "float",
            "description" : "Width (in meters) of this meeting room.",
            "example" : 5,
            "minimum" : 1.0
          }
        },
        "required" : [ "active", "address", "area", "bookable", "commissionable", "contact", "dedicatedInd", "descriptions", "featuredInd", "height", "hotelIdentifier", "id", "irregular", "length", "location", "meetingRoomCapacity", "meetingRoomTypeCode", "multimedias", "name", "pricePoint", "proximityCode", "width" ]
      },
      "UpsertPlaceRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for creating or updating a Place/attraction associated with a hotel property.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ],
          "featuredInd" : false,
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "refPointCategoryCode" : "16",
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Optional. When omitted, it falls back to the inventory's current address and then to the property's address, so a third party creating inventory through the API does not have to supply one."
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Optional. Geo-location point where this inventory sits. When omitted, it falls back to the inventory's current location and then to the property's location, so a third party creating inventory through the API does not have to supply one.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "Optional; may be empty. Already-uploaded images / videos to attach. To upload binary media instead, create the inventory first and then POST multipart files to this inventory's `/multimedia` endpoint, which uploads to the CDN server-side.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of blocking.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "refPointCategoryCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `REF` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "example" : "16",
            "minLength" : 1
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          }
        },
        "required" : [ "active", "bookable", "commissionable", "descriptions", "featuredInd", "name", "pricePoint", "refPointCategoryCode" ]
      },
      "PlaceLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a Place, suitable for list views and search results without full detail payload.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "refPointCategoryCode" : "16",
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Defaults to property address."
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "refPointCategoryCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `REF` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "example" : "16"
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "bookable", "commissionable", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "location", "multimedias", "name", "pricePoint", "proximityCode", "refPointCategoryCode" ]
      },
      "Contact" : {
        "type" : "object",
        "example" : {
          "email" : "johnsmith@email.com",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "lastName" : "Beaumont",
          "phoneNumber" : "+12125551212",
          "secondaryEmail" : "johnsmith2@email.com",
          "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Contact E-mail",
            "example" : "johnsmith@email.com"
          },
          "firstName" : {
            "type" : "string",
            "description" : "Contact first name",
            "example" : "Alexandra"
          },
          "fullName" : {
            "type" : "string",
            "description" : "First and last name",
            "example" : "Alexandra Beaumont",
            "readOnly" : true
          },
          "lastName" : {
            "type" : "string",
            "description" : "Contact last name",
            "example" : "Beaumont"
          },
          "phoneNumber" : {
            "type" : "string",
            "description" : "Contact phone number",
            "example" : "+12125551212",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "secondaryEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Contact secondary Email",
            "example" : "johnsmith2@email.com"
          },
          "summary" : {
            "type" : "string",
            "description" : "Summary",
            "example" : "John Smith (johnsmith@gmail.com / +12125551212)",
            "readOnly" : true
          }
        }
      },
      "DowPatternGroup" : {
        "type" : "object",
        "example" : {
          "disabled" : true,
          "fri" : true,
          "mon" : true,
          "sat" : true,
          "sun" : true,
          "thu" : true,
          "tue" : true,
          "wed" : true
        },
        "properties" : {
          "disabled" : {
            "type" : "boolean",
            "description" : "Convenience property to quickly determine if this existing object has any active days enabled.",
            "example" : true
          },
          "fri" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Friday.",
            "example" : true
          },
          "mon" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Monday.",
            "example" : true
          },
          "sat" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Saturday.",
            "example" : true
          },
          "sun" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Sunday.",
            "example" : true
          },
          "thu" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Thursday.",
            "example" : true
          },
          "tue" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Tuesday.",
            "example" : true
          },
          "wed" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Wednesday.",
            "example" : true
          }
        }
      },
      "GeoJsonPoint" : {
        "type" : "object",
        "properties" : {
          "coordinates" : {
            "type" : "array",
            "items" : {
              "type" : "number",
              "format" : "double"
            }
          },
          "type" : {
            "type" : "string"
          },
          "x" : {
            "type" : "number",
            "format" : "double"
          },
          "y" : {
            "type" : "number",
            "format" : "double"
          }
        }
      },
      "MediaAuthorAttribution" : {
        "type" : "object",
        "example" : {
          "name" : "Samuel Adams",
          "url" : "https://maps.google.com/maps/contrib/111628493169070103594"
        },
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of contributor",
            "example" : "Samuel Adams",
            "minLength" : 1
          },
          "url" : {
            "type" : "string",
            "format" : "uri",
            "description" : "URL to contributor",
            "example" : "https://maps.google.com/maps/contrib/111628493169070103594"
          }
        },
        "required" : [ "name" ]
      },
      "SimpleAddress" : {
        "type" : "object",
        "description" : "Address information",
        "example" : {
          "address1" : "234 Near da beach",
          "address2" : "Pebble #5001",
          "city" : "Bangkok",
          "country" : "United States",
          "countryCode" : "TH",
          "county" : "Alameda county",
          "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
          "postalCode" : "90210",
          "state" : "CA"
        },
        "properties" : {
          "address1" : {
            "type" : "string",
            "description" : "Address line 1",
            "example" : "234 Near da beach"
          },
          "address2" : {
            "type" : "string",
            "description" : "Address line 2",
            "example" : "Pebble #5001"
          },
          "city" : {
            "type" : "string",
            "description" : "City name",
            "example" : "Bangkok"
          },
          "country" : {
            "type" : "string",
            "description" : "Country",
            "example" : "United States",
            "readOnly" : true
          },
          "countryCode" : {
            "type" : "string",
            "description" : "Country",
            "example" : "TH",
            "pattern" : "^[A-Z]{2}$"
          },
          "county" : {
            "type" : "string",
            "description" : "County",
            "example" : "Alameda county"
          },
          "fullAddress" : {
            "type" : "string",
            "description" : "Address 1, Address 2, City, State, Postal / Zip code, Country",
            "example" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "readOnly" : true
          },
          "postalCode" : {
            "type" : "string",
            "description" : "Postal / zip code",
            "example" : "90210"
          },
          "state" : {
            "type" : "string",
            "description" : "State",
            "example" : "CA"
          }
        }
      },
      "SimpleDescription" : {
        "type" : "object",
        "description" : "Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.",
        "example" : {
          "creator" : "USER",
          "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
          "language" : "en",
          "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
          "name" : "Deluxe River View Suite"
        },
        "properties" : {
          "creator" : {
            "type" : "string",
            "default" : "USER",
            "description" : "Whether it was user or system generated.",
            "enum" : [ "SYSTEM", "USER" ],
            "example" : "SYSTEM"
          },
          "description" : {
            "type" : "string",
            "description" : "Longer text description",
            "example" : "This is a longer description in the specified language.",
            "maxLength" : 2147483647,
            "minLength" : 1
          },
          "hashMismatch" : {
            "type" : "boolean",
            "readOnly" : true
          },
          "language" : {
            "type" : "string",
            "default" : "en",
            "description" : "Indicate which language this description is written in.",
            "example" : "en",
            "maxLength" : 2,
            "minLength" : 2,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "md5ContentHash" : {
            "type" : "string",
            "description" : "The md5 hash of the name, description and language.",
            "example" : "d41d8cd98f00b204e9800998ecf8427e"
          },
          "name" : {
            "type" : "string",
            "description" : "Use as title or short text description",
            "example" : "An example title"
          }
        },
        "required" : [ "description", "language", "name" ]
      },
      "SimpleMultimedia" : {
        "type" : "object",
        "description" : "Multimedia that contains less information than Multimedia object",
        "example" : {
          "angle" : null,
          "attribution" : [ ],
          "category" : "2",
          "descriptions" : [ {
            "description" : "Elegant lobby of The Siam Residences",
            "language" : "en",
            "title" : "Lobby Entrance"
          } ],
          "height" : 1600,
          "identifier" : "the-siam-residences/lobby-entrance",
          "isLandscape" : true,
          "lifestyleType" : null,
          "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "published" : true,
          "sort" : 10,
          "source" : "CLOUDINARY",
          "type" : "IMAGE",
          "width" : 2560
        },
        "properties" : {
          "angle" : {
            "type" : "string",
            "description" : "Media angle",
            "example" : "-90"
          },
          "attribution" : {
            "type" : "array",
            "description" : "Whether image has attribution properties",
            "items" : {
              "$ref" : "#/components/schemas/MediaAuthorAttribution"
            }
          },
          "category" : {
            "type" : "string",
            "description" : "Supported OTA specification `PIC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized media captions to give user some context about where this media was taken.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription"
            }
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Media height in pixels.",
            "example" : 1600,
            "minimum" : 1
          },
          "identifier" : {
            "type" : "string",
            "description" : "Use this identifier to communicate with Cloudinary.",
            "example" : "cloudinary-image-1",
            "minLength" : 1
          },
          "isLandscape" : {
            "type" : "boolean",
            "description" : "True if media width is greater or equal to height",
            "example" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "multimediaIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Document identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "published" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.",
            "example" : true
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 999,
            "description" : "Sort allows you to control how you want to sort this record in a list of media records.",
            "example" : 10
          },
          "source" : {
            "type" : "string",
            "default" : "CLOUDINARY",
            "description" : "Currently ONLY using Cloudinary to store all image / video assets.",
            "enum" : [ "YOUTUBE", "CLOUDINARY" ],
            "example" : "CLOUDINARY"
          },
          "type" : {
            "type" : "string",
            "description" : "Whether Cloudinary media is a VIDEO or IMAGE.",
            "enum" : [ "IMAGE", "VIDEO", "AUDIO", "RAW" ],
            "example" : "IMAGE"
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Media width in pixels.",
            "example" : 2560,
            "minimum" : 1
          }
        },
        "required" : [ "height", "identifier", "multimediaIdentifier", "sort", "source", "type", "width" ]
      },
      "Social" : {
        "type" : "object",
        "description" : "Social network",
        "example" : {
          "location" : "https://www.instagram.com/thesiamresidences",
          "type" : "INSTAGRAM"
        },
        "properties" : {
          "location" : {
            "type" : "string",
            "description" : "URL or social network identifier to social network profile",
            "example" : "https://www.instagram.com/thesiamresidences"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of social network.",
            "enum" : [ "FACEBOOK", "INSTAGRAM", "SKYPE", "TRIP_ADVISOR", "TWITTER", "GOOGLE_PLUS", "WHATSAPP", "LINE", "WECHAT", "VIBER", "SNAPCHAT", "WEIBO", "RENREN", "WEBSITE", "QQ", "TIKTOK" ],
            "example" : "INSTAGRAM"
          }
        }
      },
      "TransactionalTravelInventory" : {
        "type" : "object",
        "description" : "This is one bookable item that can stand alongside a restaurant / meeting room etc.",
        "example" : {
          "basePrice" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "discountedPrice" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "maxPax" : 10,
          "minPax" : 2,
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "1 hour session",
          "percentDiscount" : 0.1,
          "percentPremium" : 0.1,
          "pricingType" : "PER_NIGHT"
        },
        "properties" : {
          "basePrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base price of booking this inventory."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription"
            },
            "maxItems" : 2147483647,
            "minItems" : 1
          },
          "discountedPrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "If you are selling this inventory at a discount, indicate the discounted selling price. Leave empty if there is no discount."
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique transactional identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "maxPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Whether there is a limit to maximum group size.",
            "example" : 10,
            "minimum" : 0
          },
          "minPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Whether there is a limit to minimum group size.",
            "example" : 2,
            "minimum" : 0
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of item.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of transactional blocking.",
            "example" : "1 hour session",
            "minLength" : 1
          },
          "percentDiscount" : {
            "type" : "number",
            "description" : "Calculates the percent difference between basePrice and discountedPrice.",
            "example" : 0.1
          },
          "percentPremium" : {
            "type" : "number",
            "description" : "Calculates the percent difference between basePrice and discountedPrice.",
            "example" : 0.1
          },
          "pricingType" : {
            "type" : "string",
            "description" : "How this inventory item should be priced.",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_NIGHT"
          }
        },
        "required" : [ "basePrice", "descriptions", "discountedPrice", "identifier", "name", "pricingType" ]
      },
      "TravelInventoryRecognition" : {
        "type" : "object",
        "description" : "Recognition for the ancillary blocking.",
        "example" : {
          "category" : "AWARD",
          "date" : "2026-01-14",
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "maxRating" : 10.0,
          "officialAppointmentInd" : true,
          "provider" : "Michelin",
          "rating" : 8.5,
          "ratingSymbol" : "*",
          "type" : "PERCENT_RATING"
        },
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Recognition category.",
            "enum" : [ "THIRD_PARTY_REVIEW", "PUBLICATION", "AWARD" ],
            "example" : "AWARD"
          },
          "date" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date the award was received",
            "example" : "2020-10-24"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Recognition identifier.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "maxRating" : {
            "type" : "number",
            "format" : "float",
            "description" : "Use this to let hotels indicate what the total score for this award is.",
            "example" : 10
          },
          "officialAppointmentInd" : {
            "type" : "boolean",
            "description" : "When true, this indicates the property has received official permission from the award provider to use the rating in publications and marketing materials; when false this permission has not been granted.",
            "example" : true
          },
          "provider" : {
            "type" : "string",
            "description" : "The name of the entity that administers this recognition.",
            "example" : "Michelin",
            "minLength" : 1
          },
          "rating" : {
            "type" : "number",
            "format" : "float",
            "description" : "The actual award or rating received by the hotel facility.",
            "example" : 8.5,
            "minimum" : 0.0
          },
          "ratingSymbol" : {
            "type" : "string",
            "description" : "Provides the symbol used in the rating. Used in conjunction with the Rating.",
            "example" : "*"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of rating system the recognition operated on. This allows us to display the score properly.",
            "enum" : [ "STAR_RATING", "NUMERIC_RATING", "PERCENT_RATING" ],
            "example" : "PERCENT_RATING"
          }
        },
        "required" : [ "category", "identifier", "maxRating", "provider", "rating", "type" ]
      },
      "UpsertAttractionRequest" : {
        "type" : "object",
        "description" : "Request payload for creating or updating an Attraction associated with a hotel property.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "attractionCategoryCode" : "101",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "courtesyPhone" : true,
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ],
          "featuredInd" : false,
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress",
            "description" : "Optional. When omitted, it falls back to the inventory's current address and then to the property's address, so a third party creating inventory through the API does not have to supply one."
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "attractionCategoryCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `ACC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "101",
            "minLength" : 1
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "courtesyPhone" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether or not a courtesy phone for contacting the hotel is available at the attraction (e.g. often times these are available in airports). When true, the phone is available.",
            "example" : true
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint",
            "description" : "Optional. Geo-location point where this inventory sits. When omitted, it falls back to the inventory's current location and then to the property's location, so a third party creating inventory through the API does not have to supply one.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "Optional; may be empty. Already-uploaded images / videos to attach. To upload binary media instead, create the inventory first and then POST multipart files to this inventory's `/multimedia` endpoint, which uploads to the CDN server-side.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of blocking.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition"
            }
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory"
            }
          }
        },
        "required" : [ "active", "attractionCategoryCode", "bookable", "commissionable", "descriptions", "featuredInd", "name", "pricePoint" ]
      },
      "UpsertSimpleDescription" : {
        "type" : "object",
        "example" : {
          "description" : "This is a longer description in the specified language.",
          "language" : "en",
          "name" : "An example title"
        },
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Longer text description",
            "example" : "This is a longer description in the specified language.",
            "maxLength" : 2147483647,
            "minLength" : 1
          },
          "language" : {
            "type" : "string",
            "default" : "en",
            "description" : "Indicate which language this description is written in.",
            "example" : "en",
            "maxLength" : 2,
            "minLength" : 2,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "name" : {
            "type" : "string",
            "description" : "Use as title or short text description",
            "example" : "An example title"
          }
        },
        "required" : [ "description", "language", "name" ]
      },
      "AttractionLightweight" : {
        "type" : "object",
        "description" : "A lightweight projection of an Attraction, suitable for list views and search results.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "attractionCategoryCode" : "101",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "courtesyPhone" : true,
          "createdDate" : "2026-01-14T09:30:00",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress",
            "description" : "Defaults to property address."
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "attractionCategoryCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `ACC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "101",
            "minLength" : 1
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "courtesyPhone" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether or not a courtesy phone for contacting the hotel is available at the attraction (e.g. often times these are available in airports). When true, the phone is available.",
            "example" : true
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition"
            }
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "attractionCategoryCode", "bookable", "commissionable", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "location", "multimedias", "name", "pricePoint", "proximityCode" ]
      },
      "UpsertTransactionalItemRequest" : {
        "type" : "object",
        "description" : "Request payload for creating or updating a transactional inventory item (add-on) for an attraction.",
        "example" : {
          "basePrice" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "discountedPrice" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "maxPax" : 10,
          "minPax" : 0,
          "name" : "1 hour spa session",
          "pricingType" : "PER_STAY"
        },
        "properties" : {
          "basePrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base price of booking this item."
          },
          "discountedPrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Discounted selling price. Set equal to basePrice if there is no discount."
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique transactional item identifier.",
            "minLength" : 1
          },
          "maxPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum group size for this item.",
            "example" : 10,
            "minimum" : 0
          },
          "minPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum group size for this item.",
            "example" : 0,
            "minimum" : 0
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of the transactional item.",
            "example" : "1 hour spa session",
            "minLength" : 1
          },
          "pricingType" : {
            "type" : "string",
            "description" : "How this item should be priced.",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_STAY"
          }
        },
        "required" : [ "basePrice", "discountedPrice", "identifier", "name", "pricingType" ]
      },
      "UpsertActivityRequest" : {
        "type" : "object",
        "description" : "Request payload for creating or updating an activity at a property, containing all required descriptive, location, and operational fields.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ],
          "featuredInd" : false,
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "recreationCategoryCode" : "01",
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress",
            "description" : "Optional. When omitted, it falls back to the inventory's current address and then to the property's address, so a third party creating inventory through the API does not have to supply one."
          },
          "amenities" : {
            "type" : "array",
            "description" : "Supported OTA specification `REC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint",
            "description" : "Optional. Geo-location point where this inventory sits. When omitted, it falls back to the inventory's current location and then to the property's location, so a third party creating inventory through the API does not have to supply one.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "Optional; may be empty. Already-uploaded images / videos to attach. To upload binary media instead, create the inventory first and then POST multipart files to this inventory's `/multimedia` endpoint, which uploads to the CDN server-side.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of blocking.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition"
            }
          },
          "recreationCategoryCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `RST` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "01",
            "minLength" : 1
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory"
            }
          }
        },
        "required" : [ "active", "bookable", "commissionable", "descriptions", "featuredInd", "name", "pricePoint", "recreationCategoryCode" ]
      },
      "ActivityLightweight" : {
        "type" : "object",
        "description" : "Lightweight projection of an activity, used in search results and list responses, containing the core fields needed to display and book the activity.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "recreationCategoryCode" : "01",
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress",
            "description" : "Defaults to property address."
          },
          "amenities" : {
            "type" : "array",
            "description" : "Supported OTA specification `REC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition"
            }
          },
          "recreationCategoryCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `RST` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "01",
            "minLength" : 1
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "bookable", "commissionable", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "location", "multimedias", "name", "pricePoint", "proximityCode", "recreationCategoryCode" ]
      },
      "ActivityLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of an activity, used in search results and list responses, containing the core fields needed to display and book the activity.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "recreationCategoryCode" : "01",
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Defaults to property address."
          },
          "amenities" : {
            "type" : "array",
            "description" : "Supported OTA specification `REC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "recreationCategoryCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `RST` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "01",
            "minLength" : 1
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "bookable", "commissionable", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "location", "multimedias", "name", "pricePoint", "proximityCode", "recreationCategoryCode" ]
      },
      "UpsertCancellationPolicyRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for creating or updating a cancellation policy, specifying refundability rules and applicable charge percentages",
        "example" : {
          "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
          "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
          "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
          "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
          "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
          "refundable" : false,
          "refundableCancellationCharge" : "FIFTY_PERCENT"
        },
        "properties" : {
          "advanceCancellationFreeOfCharge" : {
            "type" : "string",
            "description" : "When the cancellation policy is refundable, this flag can be set and indicates there is more rules involved than just a no-questions-asked refundable.",
            "enum" : [ "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "UNTIL_FOURTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ],
            "example" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL"
          },
          "noShowCharge" : {
            "type" : "string",
            "description" : "In case the 'Refundable cancellation charge' is set, a different no show charge can be applied.",
            "enum" : [ "SAME_AS_CANCELLATION_FEE", "ONE_HUNDRED_PERCENT_OF_TOTAL_CHARGE" ],
            "example" : "SAME_AS_CANCELLATION_FEE"
          },
          "nonRefundableAfterDeadlineCancellationCharge" : {
            "type" : "string",
            "description" : "If the guest does not honor the non-refundable deadline rule, this charge dictates what she owes after the deadline passes.",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT", "ONE_HUNDRED_PERCENT" ],
            "example" : "ONE_HUNDRED_PERCENT"
          },
          "nonRefundableCancellationCharge" : {
            "type" : "string",
            "description" : "When the cancellation policy is non-refundable, this flag can be set and indicates there is more rules involved to calculate what the guest will owe in case of a cancellation.",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT" ],
            "example" : "SEVENTY_PERCENT"
          },
          "nonRefundableDeadline" : {
            "type" : "string",
            "description" : "The non-refundable charge might can have a deadline. If that deadline passes, the guest might be charged more.",
            "enum" : [ "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ],
            "example" : "SEVEN_DAYS_BEFORE_ARRIVAL"
          },
          "refundable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether this cancellation policy is refundable or not",
            "example" : false
          },
          "refundableCancellationCharge" : {
            "type" : "string",
            "description" : "If advanceCancellationFreeOfCharge rules is not honored, this property explains what the guest will be charged.",
            "enum" : [ "FIRST_NIGHT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SIXTY_PERCENT", "SEVENTY_PERCENT", "NINETY_PERCENT", "ONE_HUNDRED_PERCENT" ],
            "example" : "FIFTY_PERCENT"
          }
        },
        "required" : [ "refundable" ]
      },
      "UpsertAnnouncementRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for creating or updating an announcement on a property, including localized content and display scheduling.",
        "example" : {
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "endDate" : "2026-04-15",
          "showAlways" : false,
          "showTitle" : true,
          "startDate" : "2026-03-01"
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "List of all localized announcements.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            },
            "maxItems" : 2147483647,
            "minItems" : 1
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Date when this announcement expires and is no longer displayed.",
            "example" : "2026-04-15"
          },
          "showAlways" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, the announcement is always visible regardless of booking dates; when false, visibility is restricted to the configured start and end dates.",
            "example" : false
          },
          "showTitle" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, the announcement title is displayed to travelers; when false, only the description content is shown.",
            "example" : true
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Date when this announcement becomes active and visible to travelers.",
            "example" : "2026-03-01"
          }
        },
        "required" : [ "descriptions" ]
      },
      "AnnouncementLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of an announcement, containing localized content and display configuration for use in traveler-facing views.",
        "example" : {
          "createdDate" : "2026-01-14T09:30:00",
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "endDate" : "2026-04-15",
          "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "showAlways" : false,
          "showTitle" : true,
          "startDate" : "2026-03-01",
          "version" : 3
        },
        "properties" : {
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "descriptions" : {
            "type" : "array",
            "description" : "List of all localized announcements.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            },
            "maxItems" : 2147483647,
            "minItems" : 1
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Date when this announcement expires and is no longer displayed.",
            "example" : "2026-04-15"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier of the property (managing entity) for which this announcement is configured.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "showAlways" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, the announcement is always visible regardless of booking dates; when false, visibility is restricted to the configured start and end dates.",
            "example" : false
          },
          "showTitle" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, the announcement title is displayed to travelers; when false, only the description content is shown.",
            "example" : true
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Date when this announcement becomes active and visible to travelers.",
            "example" : "2026-03-01"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "descriptions" ]
      },
      "DateRange" : {
        "type" : "object",
        "example" : {
          "endDate" : "2020-12-31",
          "startDate" : "2020-12-24"
        },
        "properties" : {
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Retrieve data range ending with and including this end date",
            "example" : "2020-12-31"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Retrieve data range starting with and including this start date",
            "example" : "2020-12-24"
          }
        },
        "required" : [ "endDate", "startDate" ]
      },
      "UpsertAddOnRequest" : {
        "type" : "object",
        "description" : "Request payload to create or update an add-on for a property",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "dateRanges" : [ {
            "endDate" : "2020-12-31",
            "startDate" : "2020-12-24"
          } ],
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ],
          "featuredInd" : false,
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "mandatory" : true,
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "numberOfUnits" : 15,
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "ratePlanIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress",
            "description" : "Optional. When omitted, it falls back to the inventory's current address and then to the property's address, so a third party creating inventory through the API does not have to supply one."
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "dateRanges" : {
            "type" : "array",
            "description" : "Optional list of date ranges restricting add-on availability to specific periods. Mutually exclusive with ratePlanIdentifier.",
            "items" : {
              "$ref" : "#/components/schemas/DateRange"
            }
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint",
            "description" : "Optional. Geo-location point where this inventory sits. When omitted, it falls back to the inventory's current location and then to the property's location, so a third party creating inventory through the API does not have to supply one.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "mandatory" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Make this add-on mandatory for all guests by enabling this flag.",
            "example" : true
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "Optional; may be empty. Already-uploaded images / videos to attach. To upload binary media instead, create the inventory first and then POST multipart files to this inventory's `/multimedia` endpoint, which uploads to the CDN server-side.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of blocking.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "numberOfUnits" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Total number of add-ons available to purchase.",
            "example" : 15,
            "minimum" : 0
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "ratePlanIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Optional rate plan identifier to restrict this add-on to guests on a specific rate plan. Mutually exclusive with dateRanges.",
            "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition"
            }
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory"
            }
          }
        },
        "required" : [ "active", "bookable", "commissionable", "descriptions", "featuredInd", "mandatory", "name", "numberOfUnits", "pricePoint" ]
      },
      "AddOnLightweight" : {
        "type" : "object",
        "description" : "Lightweight representation of an add-on for use in search results and booking flows",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "dateRanges" : [ {
            "endDate" : "2020-12-31",
            "startDate" : "2020-12-24"
          } ],
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "mandatory" : true,
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "numberOfUnits" : 15,
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "ratePlan" : {
            "allInclusive" : false,
            "allInclusivePlusAlcohol" : false,
            "arrivalDaysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            },
            "availableDaysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            },
            "breakfast" : false,
            "brunch" : false,
            "cancellationPolicy" : {
              "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
              "createdDate" : "2026-01-14T09:30:00",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
              "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
              "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
              "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
              "refundable" : false,
              "refundableCancellationCharge" : "FIFTY_PERCENT",
              "version" : 3
            },
            "cancellationPolicyExceptions" : {
              "list" : [ {
                "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "endDate" : "2026-12-31",
                "startDate" : "2026-01-14"
              } ]
            },
            "createdDate" : "2026-01-14T09:30:00",
            "departureDaysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            },
            "dinner" : false,
            "earlyCheckInCharge" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "enabled" : false,
            "extraChildRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "extraPaxRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "lateCheckOutCharge" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "loyaltyPointsAccrue" : false,
            "lunch" : false,
            "maxAdvanceBookingOffset" : 180,
            "maxAge" : 65,
            "maxLOS" : 30,
            "maxTotalOccupancy" : 4,
            "minAdvanceBookingOffset" : 3,
            "minAge" : 18,
            "minLOS" : 1,
            "minTotalOccupancy" : 1,
            "name" : "Best Available Rate",
            "prepaid" : false,
            "ratePlanLevelFees" : [ {
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "fixedAmount" : 450.0,
              "type" : "PER_DAY"
            } ],
            "requiredDaysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            },
            "sellEndDate" : "2026-12-31",
            "sellStartDate" : "2026-01-15",
            "singleOccupancyRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "stayEndDate" : "2026-12-31",
            "stayStartDate" : "2026-01-15",
            "version" : 3
          },
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress",
            "description" : "Defaults to property address."
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "dateRanges" : {
            "type" : "array",
            "description" : "Optional list of date ranges restricting add-on availability to specific periods. Mutually exclusive with ratePlan.",
            "items" : {
              "$ref" : "#/components/schemas/DateRange"
            }
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "mandatory" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Make this add-on mandatory for all guests by enabling this flag.",
            "example" : true
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "numberOfUnits" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Total number of add-ons available to purchase.",
            "example" : 15,
            "minimum" : 0
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "ratePlan" : {
            "$ref" : "#/components/schemas/RatePlanLightweight",
            "description" : "An optional rate plan can be applied to the add-on. The rate plan can help to create availability restrictions.",
            "readOnly" : true
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition"
            }
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "bookable", "commissionable", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "location", "mandatory", "multimedias", "name", "numberOfUnits", "pricePoint", "proximityCode" ]
      },
      "CancellationPolicyException" : {
        "type" : "object",
        "example" : {
          "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "endDate" : "2026-12-31",
          "startDate" : "2026-01-14"
        },
        "properties" : {
          "cancellationPolicy" : {
            "$ref" : "#/components/schemas/CancellationPolicyRef",
            "description" : "Cancellation policy details for this exception"
          },
          "cancellationPolicyIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Cancellation policy identifier",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "End date for when this cancellation policy should end overriding the default cancellation policy.",
            "example" : "2026-12-31"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start date for when this cancellation policy should start to override the default cancellation policy.",
            "example" : "2026-01-14"
          }
        },
        "required" : [ "cancellationPolicy", "cancellationPolicyIdentifier", "endDate", "startDate" ]
      },
      "CancellationPolicyExceptions" : {
        "type" : "object",
        "description" : "Container holding the list of date-range exceptions that override the default cancellation policy for a property",
        "example" : {
          "list" : [ {
            "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "endDate" : "2026-12-31",
            "startDate" : "2026-01-14"
          } ]
        },
        "properties" : {
          "list" : {
            "type" : "array",
            "description" : "List of cancellation policy exceptions",
            "items" : {
              "$ref" : "#/components/schemas/CancellationPolicyException"
            },
            "minItems" : 1
          }
        },
        "required" : [ "list" ]
      },
      "CancellationPolicyLightweight" : {
        "type" : "object",
        "description" : "Lightweight view of a cancellation policy containing all refundability rules and charge details, suitable for embedding in other documents",
        "example" : {
          "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
          "createdDate" : "2026-01-14T09:30:00",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
          "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
          "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
          "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
          "refundable" : false,
          "refundableCancellationCharge" : "FIFTY_PERCENT",
          "version" : 3
        },
        "properties" : {
          "advanceCancellationFreeOfCharge" : {
            "type" : "string",
            "description" : "When the cancellation policy is refundable, this flag can be set and indicates there is more rules involved than just a no-questions-asked refundable.",
            "enum" : [ "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "UNTIL_FOURTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ],
            "example" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL"
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property this cancellation is associated with",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "noShowCharge" : {
            "type" : "string",
            "description" : "In case the 'Refundable cancellation charge' is set, a different no show charge can be applied.",
            "enum" : [ "SAME_AS_CANCELLATION_FEE", "ONE_HUNDRED_PERCENT_OF_TOTAL_CHARGE" ],
            "example" : "SAME_AS_CANCELLATION_FEE"
          },
          "nonRefundableAfterDeadlineCancellationCharge" : {
            "type" : "string",
            "description" : "If the guest does not honor the non-refundable deadline rule, this charge dictates what she owes after the deadline passes.",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT", "ONE_HUNDRED_PERCENT" ],
            "example" : "ONE_HUNDRED_PERCENT"
          },
          "nonRefundableCancellationCharge" : {
            "type" : "string",
            "description" : "When the cancellation policy is non-refundable, this flag can be set and indicates there is more rules involved to calculate what the guest will owe in case of a cancellation.",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT" ],
            "example" : "SEVENTY_PERCENT"
          },
          "nonRefundableDeadline" : {
            "type" : "string",
            "description" : "The non-refundable charge might can have a deadline. If that deadline passes, the guest might be charged more.",
            "enum" : [ "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ],
            "example" : "SEVEN_DAYS_BEFORE_ARRIVAL"
          },
          "policyCode" : {
            "type" : "string"
          },
          "refundable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether this cancellation policy is refundable or not",
            "example" : false
          },
          "refundableCancellationCharge" : {
            "type" : "string",
            "description" : "If advanceCancellationFreeOfCharge rules is not honored, this property explains what the guest will be charged.",
            "enum" : [ "FIRST_NIGHT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SIXTY_PERCENT", "SEVENTY_PERCENT", "NINETY_PERCENT", "ONE_HUNDRED_PERCENT" ],
            "example" : "FIFTY_PERCENT"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "hotelIdentifier", "id", "refundable" ]
      },
      "CancellationPolicyRef" : {
        "type" : "object",
        "properties" : {
          "advanceCancellationFreeOfCharge" : {
            "type" : "string",
            "description" : "Advance notice window within which a cancellation is free of charge",
            "enum" : [ "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "UNTIL_FOURTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ]
          },
          "hotelIdentifier" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          },
          "noShowCharge" : {
            "type" : "string",
            "description" : "Fee structure applied when a guest fails to show up without cancelling",
            "enum" : [ "SAME_AS_CANCELLATION_FEE", "ONE_HUNDRED_PERCENT_OF_TOTAL_CHARGE" ]
          },
          "nonRefundableAfterDeadlineCancellationCharge" : {
            "type" : "string",
            "description" : "Penalty charge applied when a non-refundable booking is cancelled after the deadline",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT", "ONE_HUNDRED_PERCENT" ]
          },
          "nonRefundableCancellationCharge" : {
            "type" : "string",
            "description" : "Charge applied for cancelling a non-refundable rate",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT" ]
          },
          "nonRefundableDeadline" : {
            "type" : "string",
            "description" : "Deadline before arrival after which a booking becomes non-refundable",
            "enum" : [ "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ]
          },
          "refundable" : {
            "type" : "boolean"
          },
          "refundableCancellationCharge" : {
            "type" : "string",
            "description" : "Charge retained when a refundable booking is cancelled",
            "enum" : [ "FIRST_NIGHT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SIXTY_PERCENT", "SEVENTY_PERCENT", "NINETY_PERCENT", "ONE_HUNDRED_PERCENT" ]
          }
        }
      },
      "RatePlanLevelFee" : {
        "type" : "object",
        "description" : "An additional fee attached to a rate plan, such as a resort facility fee, cleaning fee, or parking fee. The fee amount and how it is charged (per day, per stay, per person, etc.) are defined per fee entry.",
        "example" : {
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "fixedAmount" : 450.0,
          "type" : "PER_DAY"
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions of this fee in multiple languages. At least one entry in English is required.",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription"
            },
            "minItems" : 1
          },
          "fixedAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "The fixed fee amount in the property's local currency.",
            "example" : 450.0
          },
          "type" : {
            "type" : "string",
            "description" : "How this fee is charged: per day, per stay, per person per day, or per person per stay.",
            "enum" : [ "PER_DAY", "PER_STAY", "PER_PERSON_PER_DAY", "PER_PERSON_PER_STAY" ],
            "example" : "PER_DAY"
          }
        },
        "required" : [ "descriptions", "fixedAmount", "type" ]
      },
      "RatePlanLightweight" : {
        "type" : "object",
        "example" : {
          "allInclusive" : false,
          "allInclusivePlusAlcohol" : false,
          "arrivalDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "availableDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "breakfast" : false,
          "brunch" : false,
          "cancellationPolicy" : {
            "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
            "createdDate" : "2026-01-14T09:30:00",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
            "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
            "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
            "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
            "refundable" : false,
            "refundableCancellationCharge" : "FIFTY_PERCENT",
            "version" : 3
          },
          "cancellationPolicyExceptions" : {
            "list" : [ {
              "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "endDate" : "2026-12-31",
              "startDate" : "2026-01-14"
            } ]
          },
          "createdDate" : "2026-01-14T09:30:00",
          "departureDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "dinner" : false,
          "earlyCheckInCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "enabled" : false,
          "extraChildRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "extraPaxRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lateCheckOutCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "loyaltyPointsAccrue" : false,
          "lunch" : false,
          "maxAdvanceBookingOffset" : 180,
          "maxAge" : 65,
          "maxLOS" : 30,
          "maxTotalOccupancy" : 4,
          "minAdvanceBookingOffset" : 3,
          "minAge" : 18,
          "minLOS" : 1,
          "minTotalOccupancy" : 1,
          "name" : "Best Available Rate",
          "prepaid" : false,
          "ratePlanLevelFees" : [ {
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "fixedAmount" : 450.0,
            "type" : "PER_DAY"
          } ],
          "requiredDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "sellEndDate" : "2026-12-31",
          "sellStartDate" : "2026-01-15",
          "singleOccupancyRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "stayEndDate" : "2026-12-31",
          "stayStartDate" : "2026-01-15",
          "version" : 3
        },
        "properties" : {
          "allInclusive" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included except alcohol",
            "example" : false
          },
          "allInclusivePlusAlcohol" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included with alcohol",
            "example" : false
          },
          "arrivalDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Days of the week on which guests are allowed to check in. If null, arrivals are permitted on any day."
          },
          "availableDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Days of the week when this rate plan is available for booking. If null, the rate plan is available on all days."
          },
          "breakfast" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates breakfast is included.",
            "example" : false
          },
          "brunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates brunch is included.",
            "example" : false
          },
          "cancellationPolicy" : {
            "$ref" : "#/components/schemas/CancellationPolicyLightweight",
            "description" : "The cancellation policy that governs refunds and cancellations for this rate plan."
          },
          "cancellationPolicyExceptions" : {
            "$ref" : "#/components/schemas/CancellationPolicyExceptions",
            "description" : "Optional overrides of the cancellation policy for specific date ranges. Allows a property to apply different cancellation terms during peak seasons, events, or special periods. Leave null for no date-specific exceptions."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "departureDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Days of the week on which guests are allowed to check out. If null, departures are permitted on any day."
          },
          "dinner" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates dinner is included.",
            "example" : false
          },
          "earlyCheckInCharge" : {
            "$ref" : "#/components/schemas/VariableCharge",
            "description" : "A pricing modifier for guests checking in early. May include a surcharge or credit. If null, no early check-in charge applies."
          },
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether rate plan is active or not.",
            "example" : false
          },
          "extraChildRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge",
            "description" : "A pricing modifier applied for each additional child guest. Typically used for child discounts or family rate adjustments. If null, no extra child adjustment applies."
          },
          "extraPaxRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge",
            "description" : "A pricing modifier applied for each additional adult guest beyond the base occupancy. For example, a per-person surcharge for extra occupants. If null, no extra adult adjustment applies."
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The property (managing entity) that owns this rate plan.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lateCheckOutCharge" : {
            "$ref" : "#/components/schemas/VariableCharge",
            "description" : "A pricing modifier for guests staying late after standard checkout time. May include a surcharge or credit. If null, no late check-out charge applies."
          },
          "loyaltyPointsAccrue" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, guests earn loyalty points toward the property's loyalty program with this rate plan. When false, this rate plan does not accrue points.",
            "example" : false
          },
          "lunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates lunch is included.",
            "example" : false
          },
          "maxAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of days in advance a guest may book this rate plan. For example, 180 allows bookings up to 6 months ahead.",
            "example" : 180
          },
          "maxAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum guest age allowed for this rate plan, typically used for family or age-restricted rates.",
            "example" : 65
          },
          "maxLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum consecutive nights allowed for a booking under this rate plan. For example, 30 caps bookings at 30 nights.",
            "example" : 30
          },
          "maxTotalOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of guests allowed under this rate plan.",
            "example" : 4
          },
          "minAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of days in advance a guest must book this rate plan. For example, 3 requires booking at least 3 days before arrival.",
            "example" : 3
          },
          "minAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum guest age required to book this rate plan, typically used for senior discounts or adult-only rates.",
            "example" : 18
          },
          "minLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum consecutive nights required for a booking under this rate plan. For example, 2 requires a minimum 2-night stay.",
            "example" : 1
          },
          "minTotalOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of guests required to qualify for this rate plan.",
            "example" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "A descriptive name for this rate plan, such as 'Best Available Rate', 'Non-Refundable', or 'Corporate Rate'.",
            "example" : "Best Available Rate",
            "minLength" : 1
          },
          "prepaid" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates if the rate is a prepaid rate.",
            "example" : false
          },
          "ratePlanLevelFees" : {
            "type" : "array",
            "description" : "Additional fees applied to this rate plan, such as resort facilities fees, parking fees, or cleaning charges. Fees can be charged per day, per stay, per person, or combinations thereof.",
            "items" : {
              "$ref" : "#/components/schemas/RatePlanLevelFee"
            }
          },
          "requiredDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Days of the week on which at least one night must fall within the stay. Useful for rates requiring weekend stays or specific weekday requirements. If null, no specific day-of-week stay requirements apply."
          },
          "sellEndDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date on which this rate plan is no longer available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range.",
            "example" : "2026-12-31"
          },
          "sellStartDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date on which this rate plan becomes available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range.",
            "example" : "2026-01-15"
          },
          "singleOccupancyRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge",
            "description" : "A pricing modifier applied when a single guest books this rate plan. For example, a 10% discount for solo travelers. If null, no single occupancy adjustment applies."
          },
          "stayEndDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The latest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range.",
            "example" : "2026-12-31"
          },
          "stayStartDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The earliest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range.",
            "example" : "2026-01-15"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "allInclusive", "allInclusivePlusAlcohol", "breakfast", "brunch", "dinner", "enabled", "hotelIdentifier", "id", "lunch", "name", "prepaid" ]
      },
      "VariableCharge" : {
        "type" : "object",
        "example" : {
          "fixedAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "percent" : 0.25,
          "type" : "PERCENTAGE"
        },
        "properties" : {
          "fixedAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "A localized amount, always non-negative. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value."
          },
          "percent" : {
            "type" : "number",
            "format" : "float",
            "description" : "A fraction between 0 and 1 (inclusive) representing a percentage of the total stay amount for an early check-in or late check-out, e.g. 0.25 for 25%. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value.",
            "example" : 0.25,
            "maximum" : 1.0,
            "minimum" : 0.0
          },
          "type" : {
            "type" : "string",
            "description" : "When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.",
            "enum" : [ "FIXED", "PERCENTAGE" ],
            "example" : "PERCENTAGE"
          }
        },
        "required" : [ "type" ]
      },
      "IntelligentProfile_Supplier" : {
        "type" : "object",
        "description" : "Structured property profile data used by the AI registration workflow to pre-populate descriptions and classify the property.",
        "example" : {
          "ambiance" : "That 70s vibe.",
          "architecture" : "1 (from taxonomy ARC)",
          "brand" : "Wunderbaum",
          "chain" : "Wunderbaum",
          "designElements" : "A whole lot of wood.",
          "historic" : "The 7 dwarfs lived here.",
          "hotelStars" : 5,
          "locationCategory" : "1 (from taxonomy LOC)",
          "numberOfRooms" : 40,
          "propertyClass" : "1 (from taxonomy PCT)",
          "segment" : "2 (from taxonomy SEG)",
          "style" : "An unmistakable hint of Dior with a dab of Givenchy",
          "yearBuilt" : "1923"
        },
        "properties" : {
          "ambiance" : {
            "type" : "string",
            "description" : "Textual description of property ambiance",
            "example" : "That 70s vibe."
          },
          "architecture" : {
            "type" : "string",
            "description" : "Property architecture",
            "example" : "1 (from taxonomy ARC)"
          },
          "brand" : {
            "type" : "string",
            "description" : "Textual name of property brand",
            "example" : "Wunderbaum"
          },
          "chain" : {
            "type" : "string",
            "description" : "Textual name of property chain",
            "example" : "Wunderbaum"
          },
          "designElements" : {
            "type" : "string",
            "description" : "Textual description of property design elements",
            "example" : "A whole lot of wood."
          },
          "historic" : {
            "type" : "string",
            "description" : "Textual description of property's historic significance",
            "example" : "The 7 dwarfs lived here."
          },
          "hotelStars" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of stars for this propert.",
            "example" : 5
          },
          "locationCategory" : {
            "type" : "string",
            "description" : "Property location code",
            "example" : "1 (from taxonomy LOC)"
          },
          "numberOfRooms" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of keys for this property",
            "example" : 40
          },
          "propertyClass" : {
            "type" : "string",
            "description" : "Property class code",
            "example" : "1 (from taxonomy PCT)"
          },
          "segment" : {
            "type" : "string",
            "description" : "Property segment code",
            "example" : "2 (from taxonomy SEG)"
          },
          "style" : {
            "type" : "string",
            "description" : "Textual description of property style",
            "example" : "An unmistakable hint of Dior with a dab of Givenchy"
          },
          "yearBuilt" : {
            "type" : "string",
            "description" : "The year the property was built",
            "example" : "1923"
          }
        },
        "required" : [ "architecture", "hotelStars", "locationCategory", "numberOfRooms", "propertyClass", "segment" ]
      },
      "IntelligentPropertyRegistrationRequest_Supplier" : {
        "type" : "object",
        "description" : "The values here override, or help complete, the lead data that is already in the database. Most times, it will be the address from Google that cannot be properly mapped and will need some human intervention.",
        "example" : {
          "accountEmail" : "reservations@thesiamresidences.com",
          "accountPhoneNumber" : "+66 2 126 8866",
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "cityGeoNameId" : "897654",
            "county" : "Alameda county",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "addressLocal" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "approveRating" : true,
          "currencyCode" : "THB",
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ],
          "hotelAmenityCodes" : [ "1 (from taxonomy HAC)" ],
          "legalName" : "The Siam Residences",
          "localName" : "Getaway Resorts Limited",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "marketing" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "marketingOptinAllowed" : true,
          "name" : "The Getaway resort - Ubud",
          "profile" : {
            "ambiance" : "That 70s vibe.",
            "architecture" : "1 (from taxonomy ARC)",
            "brand" : "Wunderbaum",
            "chain" : "Wunderbaum",
            "designElements" : "A whole lot of wood.",
            "historic" : "The 7 dwarfs lived here.",
            "hotelStars" : 5,
            "locationCategory" : "1 (from taxonomy LOC)",
            "numberOfRooms" : 40,
            "propertyClass" : "1 (from taxonomy PCT)",
            "segment" : "2 (from taxonomy SEG)",
            "style" : "An unmistakable hint of Dior with a dab of Givenchy",
            "yearBuilt" : "1923"
          },
          "propertyAccessibilityCodes" : [ "1 (from taxonomy PHY)" ],
          "propertySecurityCodes" : [ "1 (from taxonomy SEC)" ],
          "reservation" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "revenue" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "website" : "www.brand.com"
        },
        "properties" : {
          "accountEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Account email is where we will send KYC documents and other account specific mailings",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "accountPhoneNumber" : {
            "type" : "string",
            "description" : "Account phone number is mostly used for KYC purchases",
            "example" : "+66 2 126 8866",
            "minLength" : 1,
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "address" : {
            "$ref" : "#/components/schemas/UpdateAddressRequest_Supplier",
            "description" : "Property address."
          },
          "addressLocal" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Property local address."
          },
          "approveRating" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether to approve the incoming rating from Google Places",
            "example" : true
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Account's main currency.",
            "example" : "THB",
            "minLength" : 1,
            "pattern" : "^[A-Z]{3}$"
          },
          "descriptions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier",
              "description" : "Leverages AI to pre-populate the description."
            }
          },
          "hotelAmenityCodes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Supported OTA specification `HAC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
              "example" : "1 (from taxonomy HAC)"
            }
          },
          "legalName" : {
            "type" : "string",
            "description" : "Legal name of entity if other than name",
            "example" : "The Siam Residences"
          },
          "localName" : {
            "type" : "string",
            "description" : "Local name of the hotel as it is referred to in the local language.",
            "example" : "Getaway Resorts Limited"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Reservation desk information.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "marketing" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Marketing information."
          },
          "marketingOptinAllowed" : {
            "type" : "boolean",
            "description" : "Account agrees to let us use theor logo and images for marketing purposes (with proper credits).",
            "example" : true
          },
          "multimediaIdentifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Existing media resource identifiers for this property."
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Unique hotel trade name. The hotel name must be unique. If there are multiple hotels with the same name, we recommend appending destination to the name. [Verify uniqueness here](#operation/isHotelNameUnique).",
            "example" : "The Getaway resort - Ubud",
            "minLength" : 1
          },
          "profile" : {
            "$ref" : "#/components/schemas/IntelligentProfile_Supplier",
            "description" : "Property profile."
          },
          "propertyAccessibilityCodes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
              "example" : "1 (from taxonomy PHY)"
            }
          },
          "propertySecurityCodes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
              "example" : "1 (from taxonomy SEC)"
            }
          },
          "reservation" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Reservation desk information."
          },
          "revenue" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Revenue information."
          },
          "website" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Website of property",
            "example" : "www.brand.com"
          }
        },
        "required" : [ "accountEmail", "accountPhoneNumber", "address", "currencyCode", "location", "marketing", "name", "profile", "reservation", "revenue" ]
      },
      "UpdateAddressRequest_Supplier" : {
        "type" : "object",
        "description" : "Light-weight Address object",
        "example" : {
          "address1" : "234 Near da beach",
          "address2" : "Pebble #5001",
          "cityGeoNameId" : "897654",
          "county" : "Alameda county",
          "postalCode" : "90210",
          "state" : "CA"
        },
        "properties" : {
          "address1" : {
            "type" : "string",
            "description" : "Address line 1",
            "example" : "234 Near da beach",
            "minLength" : 1
          },
          "address2" : {
            "type" : "string",
            "description" : "Address line 2",
            "example" : "Pebble #5001"
          },
          "cityGeoNameId" : {
            "type" : "string",
            "description" : "City geo name ID",
            "example" : "897654",
            "minLength" : 1
          },
          "county" : {
            "type" : "string",
            "description" : "County",
            "example" : "Alameda county"
          },
          "postalCode" : {
            "type" : "string",
            "description" : "Postal / zip code",
            "example" : "90210",
            "minLength" : 1
          },
          "state" : {
            "type" : "string",
            "description" : "State",
            "example" : "CA"
          }
        },
        "required" : [ "address1", "cityGeoNameId", "postalCode" ]
      },
      "AggregateDescriptor" : {
        "type" : "object",
        "description" : "Descriptor that defines an aggregate function to apply to a specific field in a grouped result set.",
        "example" : {
          "aggregate" : "count",
          "field" : "hotel.bookings"
        },
        "properties" : {
          "aggregate" : {
            "type" : "string",
            "description" : "Aggregate function",
            "enum" : [ "count", "sum", "average", "min", "max" ],
            "example" : "count"
          },
          "field" : {
            "type" : "string",
            "description" : "Field to run aggregate function on",
            "example" : "hotel.bookings"
          }
        }
      },
      "CompositeFilterDescriptor" : {
        "type" : "object",
        "description" : "Top-level filter container that combines one or more field-level filter descriptors using a logical operator.",
        "example" : {
          "filters" : [ {
            "field" : "hotel.name",
            "ignoreCase" : true,
            "operator" : "startsWith",
            "value" : "Happy Res"
          } ],
          "logic" : "and"
        },
        "properties" : {
          "filters" : {
            "type" : "array",
            "description" : "Descriptors used for filtering the result set",
            "items" : {
              "$ref" : "#/components/schemas/FilterDescriptor"
            }
          },
          "logic" : {
            "type" : "string",
            "description" : "Whether to filter inclusively or exclusively",
            "enum" : [ "and", "or" ],
            "example" : "and"
          }
        }
      },
      "FilterDescriptor" : {
        "type" : "object",
        "description" : "A single field-level filter criterion that specifies what to match and how to compare it.",
        "example" : {
          "field" : "hotel.name",
          "ignoreCase" : true,
          "operator" : "startsWith",
          "value" : "Happy Res"
        },
        "properties" : {
          "field" : {
            "type" : "string",
            "description" : "Field name to filter on",
            "example" : "hotel.name",
            "minLength" : 1
          },
          "ignoreCase" : {
            "type" : "boolean",
            "description" : "Make filter comparison case insensitive. Default: Case sensitive ",
            "example" : true
          },
          "operator" : {
            "type" : "string",
            "description" : "Filter operator to use on field",
            "enum" : [ "neq", "eq", "contains", "doesnotcontain", "isnull", "isnotnull", "isempty", "isnotempty", "startswith", "endswith", "gte", "lte", "gt", "lt", "in", "nin" ],
            "example" : "startsWith"
          },
          "value" : {
            "description" : "Value to filter dataset against",
            "example" : "Happy Res"
          }
        },
        "required" : [ "field", "operator" ]
      },
      "GroupDescriptor" : {
        "type" : "object",
        "description" : "Descriptor that defines how a result set should be grouped, including sort direction and optional aggregate calculations.",
        "example" : {
          "aggregates" : [ {
            "aggregate" : "count",
            "field" : "hotel.bookings"
          } ],
          "dir" : "asc",
          "field" : "createdDate"
        },
        "properties" : {
          "aggregates" : {
            "type" : "array",
            "description" : "Primitive aggregate data points",
            "items" : {
              "$ref" : "#/components/schemas/AggregateDescriptor"
            }
          },
          "dir" : {
            "type" : "string",
            "description" : "Group sort direction",
            "enum" : [ "asc", "desc" ],
            "example" : "asc"
          },
          "field" : {
            "type" : "string",
            "description" : "Field to group data set on",
            "example" : "createdDate"
          }
        }
      },
      "ReportFieldName" : {
        "type" : "object",
        "description" : "Defines a single column in a generated report, mapping a display title to a JSON field path in the data object",
        "example" : {
          "title" : "Property Name",
          "valuePath" : "hotel.name"
        },
        "properties" : {
          "title" : {
            "type" : "string",
            "description" : "Display name for the report column",
            "example" : "Property Name",
            "minLength" : 1
          },
          "valuePath" : {
            "type" : "string",
            "description" : "JSON path to the field in the data object (dot-notation)",
            "example" : "hotel.name",
            "minLength" : 1
          }
        },
        "required" : [ "title", "valuePath" ]
      },
      "ReportQuery" : {
        "type" : "object",
        "description" : "Request payload that defines what data to export and how to format it as a CSV report",
        "example" : {
          "fieldNames" : [ {
            "title" : "Property Name",
            "valuePath" : "hotel.name"
          } ],
          "reportDataType" : "BOOKING",
          "reportName" : "booking-summary",
          "state" : {
            "filter" : {
              "filters" : [ {
                "field" : "hotel.name",
                "ignoreCase" : true,
                "operator" : "startsWith",
                "value" : "Happy Res"
              } ],
              "logic" : "and"
            },
            "group" : [ {
              "aggregates" : [ {
                "aggregate" : "count",
                "field" : "hotel.bookings"
              } ],
              "dir" : "asc",
              "field" : "createdDate"
            } ],
            "skip" : 0,
            "sort" : [ {
              "dir" : "asc",
              "field" : "hotel.name"
            } ],
            "take" : 10
          }
        },
        "properties" : {
          "fieldNames" : {
            "type" : "array",
            "description" : "List of field definitions specifying which data fields to include and their display titles",
            "items" : {
              "$ref" : "#/components/schemas/ReportFieldName"
            },
            "minItems" : 1
          },
          "reportDataType" : {
            "type" : "string",
            "description" : "Type of data source to query from: PROPERTY (hotel inventory), USER (guest profiles), BOOKING (reservations), ACCOUNT (managing entity data)",
            "enum" : [ "PROPERTY", "USER", "BOOKING", "ACCOUNT" ],
            "example" : "BOOKING"
          },
          "reportName" : {
            "type" : "string",
            "description" : "Name of the report for the generated CSV file",
            "example" : "booking-summary",
            "minLength" : 1
          },
          "state" : {
            "$ref" : "#/components/schemas/State",
            "description" : "Query state with sorting, filtering, and pagination criteria to retrieve the report data"
          }
        },
        "required" : [ "fieldNames", "reportDataType", "reportName", "state" ]
      },
      "SortDescriptor" : {
        "type" : "object",
        "description" : "Descriptor that defines the sort direction and field for ordering a result set.",
        "example" : {
          "dir" : "asc",
          "field" : "hotel.name"
        },
        "properties" : {
          "dir" : {
            "type" : "string",
            "description" : "Descriptors used for sorting result set",
            "enum" : [ "asc", "desc" ],
            "example" : "asc"
          },
          "field" : {
            "type" : "string",
            "description" : "Data set field to sort on",
            "example" : "hotel.name"
          }
        }
      },
      "State" : {
        "type" : "object",
        "description" : "Pagination, sorting, filtering, and grouping state used to query a paged result set.",
        "example" : {
          "filter" : {
            "filters" : [ {
              "field" : "hotel.name",
              "ignoreCase" : true,
              "operator" : "startsWith",
              "value" : "Happy Res"
            } ],
            "logic" : "and"
          },
          "group" : [ {
            "aggregates" : [ {
              "aggregate" : "count",
              "field" : "hotel.bookings"
            } ],
            "dir" : "asc",
            "field" : "createdDate"
          } ],
          "skip" : 0,
          "sort" : [ {
            "dir" : "asc",
            "field" : "hotel.name"
          } ],
          "take" : 10
        },
        "properties" : {
          "filter" : {
            "$ref" : "#/components/schemas/CompositeFilterDescriptor",
            "description" : "Descriptors used for filtering result set"
          },
          "group" : {
            "type" : "array",
            "description" : "Descriptors to group result sets by.",
            "items" : {
              "$ref" : "#/components/schemas/GroupDescriptor"
            }
          },
          "skip" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of records to be skipped by the pager.",
            "example" : 0,
            "minimum" : 0
          },
          "sort" : {
            "type" : "array",
            "description" : "Descriptors used for sorting result set.",
            "items" : {
              "$ref" : "#/components/schemas/SortDescriptor"
            }
          },
          "take" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 30,
            "description" : "Number of records to take.",
            "example" : 10,
            "maximum" : 180,
            "minimum" : 1
          }
        }
      },
      "CreateScheduleItemRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body for creating a new calendar schedule item on a travel inventory such as a meeting room, restaurant, spa, activity, attraction, or place.",
        "example" : {
          "attendees" : 2,
          "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
          "end" : "2026-02-15T15:30:00",
          "endTimezone" : "Asia/Bangkok",
          "isAllDay" : true,
          "recurrenceException" : [ "2026-02-16T14:00:00", "2026-02-18T14:00:00" ],
          "recurrenceId" : "a2d5f8b1-1c4e-4d7a-8b3f-2e9a0c6b5d41",
          "recurrenceRule" : "FREQ=DAILY;COUNT=5",
          "start" : "2026-02-15T14:00:00",
          "startTimezone" : "Asia/Bangkok",
          "type" : "MEETING_ROOM"
        },
        "properties" : {
          "attendees" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of guests or attendees for this event. Must be at least 1.",
            "example" : 2,
            "minimum" : 1
          },
          "bookingIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Identifier of the booking this scheduled event is associated with.",
            "example" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
            "minLength" : 1
          },
          "end" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "End date and time of the scheduled event in ISO-8601 format.",
            "example" : "2026-02-15T15:30:00"
          },
          "endTimezone" : {
            "type" : "string",
            "description" : "Timezone identifier for the end time, using IANA time zone database format (e.g., Asia/Bangkok, America/New_York).",
            "example" : "Asia/Bangkok",
            "minLength" : 1
          },
          "isAllDay" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Flag indicating whether this is an all-day event (no specific time). If true, time portions of start and end are ignored.",
            "example" : true
          },
          "recurrenceException" : {
            "type" : "array",
            "description" : "List of date-times that are exceptions to the recurrence rule (dates when the recurring event does not occur).",
            "example" : [ "2026-02-16T14:00:00", "2026-02-18T14:00:00" ],
            "items" : {
              "type" : "string",
              "format" : "date-time"
            }
          },
          "recurrenceId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Identifier of the parent recurring event. Used when this instance is part of a recurring series.",
            "example" : "a2d5f8b1-1c4e-4d7a-8b3f-2e9a0c6b5d41"
          },
          "recurrenceRule" : {
            "type" : "string",
            "description" : "Recurrence rule in iCalendar format (RFC 5545). If present, this event repeats according to the rule. For details see [iCalendar specification](https://icalendar.org/). Null for non-recurring events.",
            "example" : "FREQ=DAILY;COUNT=5"
          },
          "start" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Start date and time of the scheduled event in ISO-8601 format.",
            "example" : "2026-02-15T14:00:00"
          },
          "startTimezone" : {
            "type" : "string",
            "description" : "Timezone identifier for the start time, using IANA time zone database format (e.g., Asia/Bangkok, America/New_York).",
            "example" : "Asia/Bangkok",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Type of travel inventory (e.g., meeting room, restaurant, spa, activity, attraction, place).",
            "enum" : [ "ROOM_TYPE_ANCILLARY", "ADD_ON", "MEETING_ROOM", "SPA", "RESTAURANT", "ACTIVITY", "ATTRACTION", "PLACE" ],
            "example" : "MEETING_ROOM"
          }
        },
        "required" : [ "attendees", "bookingIdentifier", "end", "endTimezone", "isAllDay", "start", "startTimezone", "type" ]
      },
      "ChannelName_SupplierDetails" : {
        "type" : "object",
        "description" : "Channel name record linking a property to a named sales channel and its managing entity",
        "example" : {
          "name" : "The Siam Residences - Direct Channel",
          "ownerIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "propertyIdentifier" : "the-siam-residences",
          "subType" : "HOTEL"
        },
        "properties" : {
          "name" : {
            "type" : "string",
            "minLength" : 1
          },
          "ownerIdentifier" : {
            "type" : "string"
          },
          "propertyIdentifier" : {
            "type" : "string",
            "minLength" : 1
          },
          "subType" : {
            "type" : "string",
            "description" : "Type of entity that manages, facilitates, or administers properties, bookings, or payments on the Wink Platform",
            "enum" : [ "TRIP_PAY", "FACILITATOR", "DIRECT", "APPLICATION", "HOTEL", "TRAVELIKO", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "GOOGLE_HOTEL_API", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ]
          }
        },
        "required" : [ "name", "propertyIdentifier", "subType" ]
      },
      "Child_SupplierDetails" : {
        "type" : "object",
        "description" : "Child guest with age and quantity in a room configuration",
        "example" : {
          "age" : 7,
          "quantity" : 2
        },
        "properties" : {
          "age" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Age of each child in this group (years)",
            "example" : 7,
            "minimum" : 0
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Count of children of this age group in the room",
            "example" : 2,
            "minimum" : 1
          }
        },
        "required" : [ "age", "quantity" ]
      },
      "GeoIpLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Uses MaxMind's city lite db to persist GeoIpLightweight objects in our own db.",
        "example" : {
          "cityName" : "Bangkok",
          "continentCode" : "AS",
          "continentName" : "Asia",
          "countryIsoCode" : "TH",
          "countryName" : "Thailand",
          "geoNameId" : "1609350",
          "localeCode" : "en",
          "subDivision1Code" : "10",
          "subDivision1Name" : "Bangkok",
          "subDivision2Code" : "1001",
          "subDivision2Name" : "Phra Nakhon",
          "timezone" : "Asia/Bangkok"
        },
        "properties" : {
          "cityName" : {
            "type" : "string",
            "description" : "City name",
            "example" : "New York",
            "minLength" : 1
          },
          "continentCode" : {
            "type" : "string",
            "description" : "Continent code",
            "example" : "NA",
            "minLength" : 1
          },
          "continentName" : {
            "type" : "string",
            "description" : "Continent name",
            "example" : "North America",
            "minLength" : 1
          },
          "countryIsoCode" : {
            "type" : "string",
            "description" : "Country ISO code",
            "example" : "US",
            "minLength" : 1,
            "pattern" : "^[A-Z]{2}$"
          },
          "countryName" : {
            "type" : "string",
            "description" : "Country name",
            "example" : "United States",
            "minLength" : 1
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "GeoNameLightweight identifiers taken from [https://geonames.org](https://geonames.org).",
            "example" : "8798734",
            "minLength" : 1
          },
          "localeCode" : {
            "type" : "string",
            "description" : "Locale code",
            "example" : "en",
            "minLength" : 1,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "subDivision1Code" : {
            "type" : "string",
            "description" : "Sub-division 1 code",
            "example" : "NY"
          },
          "subDivision1Name" : {
            "type" : "string",
            "description" : "Sub-division 1 name",
            "example" : "NY"
          },
          "subDivision2Code" : {
            "type" : "string",
            "description" : "Sub-division 2 code",
            "example" : "Kings"
          },
          "subDivision2Name" : {
            "type" : "string",
            "description" : "Sub-division 2 name",
            "example" : "Kings County"
          },
          "timezone" : {
            "type" : "string",
            "description" : "Timezone",
            "example" : "America/New_York",
            "minLength" : 1
          }
        },
        "required" : [ "cityName", "continentCode", "continentName", "countryIsoCode", "countryName", "geoNameId", "localeCode", "timezone" ]
      },
      "GeoNameCountry_SupplierDetails" : {
        "type" : "object",
        "description" : "Country geographic data from GeoNames",
        "example" : {
          "continentCode" : "AS",
          "continentName" : "Asia",
          "countryIsoCode" : "TH",
          "countryName" : "Thailand",
          "geoNameId" : "1609350"
        },
        "properties" : {
          "continentCode" : {
            "type" : "string",
            "description" : "Continent code (two-letter ISO)",
            "example" : "AS"
          },
          "continentName" : {
            "type" : "string",
            "description" : "Continent name",
            "example" : "Asia"
          },
          "countryIsoCode" : {
            "type" : "string",
            "description" : "Country ISO 3166-1 alpha-2 code",
            "example" : "TH",
            "pattern" : "^[A-Z]{2}$"
          },
          "countryName" : {
            "type" : "string",
            "description" : "Country name",
            "example" : "Thailand"
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "GeoNames identifier",
            "example" : "1609350"
          }
        }
      },
      "RoomConfiguration_SupplierDetails" : {
        "type" : "object",
        "description" : "Room occupancy and guest composition for a single or multiple identical rooms",
        "example" : {
          "adults" : 2,
          "children" : [ {
            "age" : 7,
            "quantity" : 2
          } ],
          "quantity" : 2
        },
        "properties" : {
          "adults" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of adult guests in this room type",
            "example" : 2,
            "minimum" : 1
          },
          "children" : {
            "type" : "array",
            "description" : "Child guests in this room, with age groups",
            "items" : {
              "$ref" : "#/components/schemas/Child_SupplierDetails"
            }
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of identical rooms with this configuration",
            "example" : 2,
            "minimum" : 1
          }
        },
        "required" : [ "adults" ]
      },
      "VerifyRatesRequest_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "channel" : {
            "name" : "The Siam Residences - Direct Channel",
            "ownerIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "propertyIdentifier" : "the-siam-residences",
            "subType" : "HOTEL"
          },
          "city" : {
            "cityName" : "Bangkok",
            "continentCode" : "AS",
            "continentName" : "Asia",
            "countryIsoCode" : "TH",
            "countryName" : "Thailand",
            "geoNameId" : "1609350",
            "localeCode" : "en",
            "subDivision1Code" : "10",
            "subDivision1Name" : "Bangkok",
            "subDivision2Code" : "1001",
            "subDivision2Name" : "Phra Nakhon",
            "timezone" : "Asia/Bangkok"
          },
          "country" : {
            "continentCode" : "AS",
            "continentName" : "Asia",
            "countryIsoCode" : "TH",
            "countryName" : "Thailand",
            "geoNameId" : "1609350"
          },
          "roomConfigurations" : [ {
            "adults" : 2,
            "children" : [ {
              "age" : 7,
              "quantity" : 2
            } ],
            "quantity" : 2
          } ]
        },
        "properties" : {
          "bookingDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The booking start date"
          },
          "channel" : {
            "$ref" : "#/components/schemas/ChannelName_SupplierDetails",
            "description" : "Channel owner of inventory"
          },
          "city" : {
            "$ref" : "#/components/schemas/GeoIpLightweight_SupplierDetails",
            "description" : "A booker coming from a specific city"
          },
          "continent" : {
            "type" : "string",
            "description" : "A booker coming from a specific continent"
          },
          "country" : {
            "$ref" : "#/components/schemas/GeoNameCountry_SupplierDetails",
            "description" : "A booker coming from a specific country"
          },
          "currency" : {
            "type" : "string",
            "description" : "Display currency",
            "minLength" : 1
          },
          "ipNumber" : {
            "type" : "string",
            "description" : "A booker coming from a specific IP number"
          },
          "latitude" : {
            "type" : "number",
            "format" : "double",
            "description" : "A booker coming from a specific latitude"
          },
          "longitude" : {
            "type" : "number",
            "format" : "double",
            "description" : "A booker coming from a specific longitude"
          },
          "promotion" : {
            "type" : "string",
            "description" : "A promo code"
          },
          "roomConfigurations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RoomConfiguration_SupplierDetails",
              "description" : "Desired room configuration"
            },
            "minItems" : 1
          },
          "sellEndDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The sell end date"
          },
          "sellStartDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The sell start date"
          },
          "stayEndDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Departure date"
          },
          "stayStartDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Arrival date"
          },
          "timezone" : {
            "type" : "string",
            "description" : "A booker coming from a specific timezone"
          }
        },
        "required" : [ "channel", "currency", "roomConfigurations", "stayEndDate", "stayStartDate" ]
      },
      "AddOnLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight representation of an add-on for use in search results and booking flows",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "bookable" : true,
          "closes" : "17:30",
          "commissionable" : true,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "dateRanges" : [ {
            "endDate" : "2020-12-31",
            "startDate" : "2020-12-24"
          } ],
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "mandatory" : true,
          "minAgeAppropriateCode" : "1",
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "numberOfUnits" : 15,
          "opens" : "09:00",
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "ratePlan" : {
            "allInclusive" : false,
            "allInclusivePlusAlcohol" : false,
            "arrivalDaysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            },
            "availableDaysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            },
            "breakfast" : false,
            "brunch" : false,
            "cancellationPolicy" : {
              "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
              "createdDate" : "2026-01-14T09:30:00",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
              "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
              "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
              "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
              "refundable" : false,
              "refundableCancellationCharge" : "FIFTY_PERCENT",
              "version" : 3
            },
            "cancellationPolicyExceptions" : {
              "list" : [ {
                "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "endDate" : "2026-12-31",
                "startDate" : "2026-01-14"
              } ]
            },
            "createdDate" : "2026-01-14T09:30:00",
            "departureDaysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            },
            "dinner" : false,
            "earlyCheckInCharge" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "enabled" : false,
            "extraChildRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "extraPaxRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "lateCheckOutCharge" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "loyaltyPointsAccrue" : false,
            "lunch" : false,
            "maxAdvanceBookingOffset" : 180,
            "maxAge" : 65,
            "maxLOS" : 30,
            "maxTotalOccupancy" : 4,
            "minAdvanceBookingOffset" : 3,
            "minAge" : 18,
            "minLOS" : 1,
            "minTotalOccupancy" : 1,
            "name" : "Best Available Rate",
            "prepaid" : false,
            "ratePlanLevelFees" : [ {
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "fixedAmount" : 450.0,
              "type" : "PER_DAY"
            } ],
            "requiredDaysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            },
            "sellEndDate" : "2026-12-31",
            "sellStartDate" : "2026-01-15",
            "singleOccupancyRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "stayEndDate" : "2026-12-31",
            "stayStartDate" : "2026-01-15",
            "version" : 3
          },
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "reservationRequiredInd" : false,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_SupplierDetails",
            "description" : "Defaults to property address."
          },
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a ending date.",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction (e.g. the start of a season) is available. This date property signifies that the blocking is recurring and / or seasonal. If the date is in the past, only day and month will be used to infer seasonality. If the date is a future date, it will be interpreted as a starting date.",
            "example" : "1970-1-1"
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "17:30"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_SupplierDetails",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "dateRanges" : {
            "type" : "array",
            "description" : "Optional list of date ranges restricting add-on availability to specific periods. Mutually exclusive with ratePlan.",
            "items" : {
              "$ref" : "#/components/schemas/DateRange_SupplierDetails"
            }
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_SupplierDetails",
            "description" : "Indicate which days this inventory is open."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_SupplierDetails"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_SupplierDetails",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "mandatory" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Make this add-on mandatory for all guests by enabling this flag.",
            "example" : true
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_SupplierDetails"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "numberOfUnits" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Total number of add-ons available to purchase.",
            "example" : 15,
            "minimum" : 0
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of blocking (if applicable). Leave empty if blocking is always available.",
            "example" : "09:00"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "ratePlan" : {
            "$ref" : "#/components/schemas/RatePlanLightweight_SupplierDetails",
            "description" : "An optional rate plan can be applied to the add-on. The rate plan can help to create availability restrictions.",
            "readOnly" : true
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_SupplierDetails"
            }
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this inventory.",
            "example" : false
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_SupplierDetails"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_SupplierDetails"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "bookable", "commissionable", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "location", "mandatory", "multimedias", "name", "numberOfUnits", "pricePoint", "proximityCode" ]
      },
      "AddOnLocalizedInventory_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "addOn" : {
            "active" : true,
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "applicableEnd" : "1970-12-1",
            "applicableStart" : "1970-1-1",
            "bookable" : true,
            "closes" : "17:30",
            "commissionable" : true,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "createdDate" : "2026-01-14T09:30:00",
            "dateRanges" : [ {
              "endDate" : "2020-12-31",
              "startDate" : "2020-12-24"
            } ],
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "featuredInd" : false,
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
            "location" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            },
            "mandatory" : true,
            "minAgeAppropriateCode" : "1",
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "Archery lesson",
            "numberOfUnits" : 15,
            "opens" : "09:00",
            "pricePoint" : "THREE",
            "proximityCode" : "1",
            "publishStatus" : "PUBLISHED",
            "ratePlan" : {
              "allInclusive" : false,
              "allInclusivePlusAlcohol" : false,
              "arrivalDaysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              },
              "availableDaysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              },
              "breakfast" : false,
              "brunch" : false,
              "cancellationPolicy" : {
                "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                "createdDate" : "2026-01-14T09:30:00",
                "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "lastUpdate" : "2026-02-03T16:45:12",
                "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                "refundable" : false,
                "refundableCancellationCharge" : "FIFTY_PERCENT",
                "version" : 3
              },
              "cancellationPolicyExceptions" : {
                "list" : [ {
                  "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "endDate" : "2026-12-31",
                  "startDate" : "2026-01-14"
                } ]
              },
              "createdDate" : "2026-01-14T09:30:00",
              "departureDaysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              },
              "dinner" : false,
              "earlyCheckInCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "enabled" : false,
              "extraChildRateModifier" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "extraPaxRateModifier" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "lateCheckOutCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "loyaltyPointsAccrue" : false,
              "lunch" : false,
              "maxAdvanceBookingOffset" : 180,
              "maxAge" : 65,
              "maxLOS" : 30,
              "maxTotalOccupancy" : 4,
              "minAdvanceBookingOffset" : 3,
              "minAge" : 18,
              "minLOS" : 1,
              "minTotalOccupancy" : 1,
              "name" : "Best Available Rate",
              "prepaid" : false,
              "ratePlanLevelFees" : [ {
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "fixedAmount" : 450.0,
                "type" : "PER_DAY"
              } ],
              "requiredDaysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              },
              "sellEndDate" : "2026-12-31",
              "sellStartDate" : "2026-01-15",
              "singleOccupancyRateModifier" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "stayEndDate" : "2026-12-31",
              "stayStartDate" : "2026-01-15",
              "version" : 3
            },
            "recognitionList" : [ {
              "category" : "AWARD",
              "date" : "2026-01-14",
              "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "maxRating" : 10.0,
              "officialAppointmentInd" : true,
              "provider" : "Michelin",
              "rating" : 8.5,
              "ratingSymbol" : "*",
              "type" : "PERCENT_RATING"
            } ],
            "reservationRequiredInd" : false,
            "socials" : [ {
              "location" : "https://www.instagram.com/thesiamresidences",
              "type" : "INSTAGRAM"
            } ],
            "sort" : 1,
            "transactionalInventoryList" : [ {
              "basePrice" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "discountedPrice" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "maxPax" : 10,
              "minPax" : 2,
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "1 hour session",
              "percentDiscount" : 0.1,
              "percentPremium" : 0.1,
              "pricingType" : "PER_NIGHT"
            } ],
            "version" : 3
          },
          "commission" : 0.1,
          "direct" : true,
          "priceList" : [ {
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "identifier" : "travel-blocking-1",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "offerDetails" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            }
          } ]
        },
        "properties" : {
          "addOn" : {
            "$ref" : "#/components/schemas/AddOnLightweight_SupplierDetails",
            "description" : "The original add-on record created by the property."
          },
          "channelInventoryIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Channel inventory identifier referencing this record."
          },
          "commission" : {
            "type" : "number",
            "format" : "float",
            "description" : "The commission percentage.",
            "example" : 0.1
          },
          "commissionable" : {
            "type" : "boolean",
            "description" : "Whether this package is commissionable based on the incoming sales channel."
          },
          "direct" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates whether the blocking from sales channel is direct or not. If you are a travel agent doing your own acquiring, this flag has to be true to make a booking.",
            "example" : true
          },
          "priceList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedTransactionalTravelInventory_SupplierDetails",
              "description" : "Localized transactional blocking"
            }
          }
        },
        "required" : [ "addOn", "direct" ]
      },
      "AdvanceBookingRateQualifier_SupplierDetails" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to bookings made within a specific advance window before the stay start date.",
        "example" : {
          "maxAdvanceBookingOffset" : 365,
          "minAdvanceBookingOffset" : 7
        },
        "properties" : {
          "maxAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum days in advance of stay start date when the booking may be made. Set to 0 for no maximum.",
            "example" : 365,
            "minimum" : 0
          },
          "minAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum days in advance of stay start date when the booking must be made. Set to 0 for no minimum.",
            "example" : 7,
            "minimum" : 0
          }
        }
      },
      "ArrivalDaysOfWeekRateQualifier_SupplierDetails" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests arriving on specific days of the week.",
        "example" : {
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          }
        },
        "properties" : {
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_SupplierDetails",
            "description" : "The days of the week when this rate is available for guests to arrive on"
          }
        },
        "required" : [ "daysOfWeek" ]
      },
      "AvailableDaysOfWeekRateQualifier_SupplierDetails" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to specific days of the week when it is available for booking.",
        "example" : {
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          }
        },
        "properties" : {
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_SupplierDetails",
            "description" : "The days of the week when this rate is available for booking"
          }
        },
        "required" : [ "daysOfWeek" ]
      },
      "Bed_SupplierDetails" : {
        "type" : "object",
        "description" : "A single bed type and its quantity within a bedroom, described using the OpenTravel bed type code.",
        "example" : {
          "bedTypeCode" : "1",
          "quantity" : 2
        },
        "properties" : {
          "bedTypeCode" : {
            "type" : "string",
            "description" : "OpenTravel bed type code (e.g., 1=Double, 2=Twin, 7=Queen, 8=King). See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "example" : "1",
            "minLength" : 1
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of beds of this type in the room.",
            "example" : 2,
            "minimum" : 1
          }
        },
        "required" : [ "bedTypeCode", "quantity" ]
      },
      "BedroomConfiguration_SupplierDetails" : {
        "type" : "object",
        "description" : "A named bedroom layout configuration for a room type, containing one or more bedrooms each with their own bed setup.",
        "example" : {
          "bedroomList" : [ {
            "bedList" : [ {
              "bedTypeCode" : "1",
              "quantity" : 2
            } ],
            "type" : "MASTER"
          } ],
          "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "name" : "Master Suite Layout"
        },
        "properties" : {
          "bedroomList" : {
            "type" : "array",
            "description" : "List of bedrooms within this configuration layout.",
            "items" : {
              "$ref" : "#/components/schemas/Bedroom_SupplierDetails"
            },
            "minItems" : 1
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this bedroom configuration layout.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Human-readable name of this room layout configuration.",
            "example" : "Master Suite Layout",
            "minLength" : 1
          }
        },
        "required" : [ "bedroomList", "identifier", "name" ]
      },
      "Bedroom_SupplierDetails" : {
        "type" : "object",
        "description" : "A single bedroom within a room type, specifying the bedroom type and its bed configuration.",
        "example" : {
          "bedList" : [ {
            "bedTypeCode" : "1",
            "quantity" : 2
          } ],
          "type" : "MASTER"
        },
        "properties" : {
          "bedList" : {
            "type" : "array",
            "description" : "List of bed configurations for this bedroom. Each entry specifies a bed type and quantity.",
            "items" : {
              "$ref" : "#/components/schemas/Bed_SupplierDetails"
            },
            "minItems" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Bedroom type classification (e.g., MASTER, QUEEN, JUNIOR, DORMITORY, BEDROOM_1...BEDROOM_10).",
            "enum" : [ "MASTER", "QUEEN", "JUNIOR", "DORMITORY", "BEDROOM_1", "BEDROOM_2", "BEDROOM_3", "BEDROOM_4", "BEDROOM_5", "BEDROOM_6", "BEDROOM_7", "BEDROOM_8", "BEDROOM_9", "BEDROOM_10" ],
            "example" : "MASTER"
          }
        },
        "required" : [ "bedList", "type" ]
      },
      "BeneficiaryCharge_SupplierDetails" : {
        "type" : "object",
        "description" : "Defines how a beneficiary's slice of the booking is calculated: either as a fixed percentage of the total stay price, or as the remainder after other beneficiaries have taken their share.",
        "example" : {
          "percent" : 0.05
        },
        "properties" : {
          "percent" : {
            "type" : "number",
            "description" : "The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.",
            "example" : 0.05
          },
          "type" : {
            "type" : "string",
            "description" : "PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).",
            "enum" : [ "PERCENTAGE", "REMAINDER" ]
          }
        },
        "required" : [ "type" ]
      },
      "Beneficiary_SupplierDetails" : {
        "type" : "object",
        "description" : "A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.",
        "example" : {
          "accountEmail" : "reservations@thesiamresidences.com",
          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "accountName" : "The Siam Residences, Bangkok",
          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
          "amountDue" : {
            "percent" : 0.05
          },
          "displayAmount" : 450.0,
          "displayAmountRefundModifier" : 45.0,
          "displayCurrency" : "USD",
          "internalAmount" : 450.0,
          "internalAmountRefundModifier" : 45.0,
          "internalCurrency" : "USD",
          "netDisplayAmount" : 450.0,
          "netInternalAmount" : 450.0,
          "netSourceAmount" : 450.0,
          "pendingRefunds" : [ {
            "displayAmountRefundModifier" : 45.0,
            "internalAmountRefundModifier" : 45.0,
            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
            "sourceAmountRefundModifier" : 45.0
          } ],
          "reconciled" : false,
          "sourceAmount" : 450.0,
          "sourceAmountRefundModifier" : 45.0,
          "sourceCurrency" : "THB"
        },
        "properties" : {
          "accountEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Contact email address for the beneficiary account",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "accountIdentifier" : {
            "type" : "string",
            "description" : "Unique identifier of the beneficiary's account in the TripPay system",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "accountName" : {
            "type" : "string",
            "description" : "Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)",
            "example" : "The Siam Residences, Bangkok",
            "minLength" : 1
          },
          "accountUrl" : {
            "type" : "string",
            "description" : "Profile or dashboard URL for the beneficiary account",
            "example" : "https://trvl.as/the-siam-residences-bangkok"
          },
          "amountDue" : {
            "$ref" : "#/components/schemas/BeneficiaryCharge_SupplierDetails",
            "description" : "Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted"
          },
          "displayAmount" : {
            "type" : "number",
            "description" : "Gross amount owed to this beneficiary in display currency (before refunds)",
            "example" : 450.0,
            "minimum" : 0
          },
          "displayAmountRefundModifier" : {
            "type" : "number",
            "description" : "Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)",
            "example" : 45.0,
            "minimum" : 0
          },
          "displayCurrency" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for display to the user (e.g. booking shown in USD)",
            "example" : "USD",
            "minLength" : 1
          },
          "internalAmount" : {
            "type" : "number",
            "description" : "Gross amount owed to this beneficiary in internal currency (before refunds)",
            "example" : 450.0,
            "minimum" : 0
          },
          "internalAmountRefundModifier" : {
            "type" : "number",
            "description" : "Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)",
            "example" : 45.0,
            "minimum" : 0
          },
          "internalCurrency" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for internal platform ledger (always USD)",
            "example" : "USD",
            "minLength" : 1
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)"
          },
          "netDisplayAmount" : {
            "type" : "number",
            "description" : "Net amount owed in display currency (displayAmount - displayAmountRefundModifier)",
            "example" : 450.0,
            "minimum" : 0
          },
          "netInternalAmount" : {
            "type" : "number",
            "description" : "Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)",
            "example" : 450.0,
            "minimum" : 0
          },
          "netSourceAmount" : {
            "type" : "number",
            "description" : "Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)",
            "example" : 450.0,
            "minimum" : 0
          },
          "pendingRefunds" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PendingRefund_SupplierDetails",
              "description" : "Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property"
            }
          },
          "reconciled" : {
            "type" : "boolean",
            "description" : "Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary",
            "example" : false
          },
          "sourceAmount" : {
            "type" : "number",
            "description" : "Gross amount owed to this beneficiary in source currency (before refunds)",
            "example" : 450.0,
            "minimum" : 0
          },
          "sourceAmountRefundModifier" : {
            "type" : "number",
            "description" : "Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)",
            "example" : 45.0,
            "minimum" : 0
          },
          "sourceCurrency" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for the originating source (supplier's local currency, e.g. hotel in Thailand uses THB)",
            "example" : "THB",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees",
            "enum" : [ "TRIP_PAY", "PLATFORM_FEE", "COMMISSION", "AFFILIATE_AGENCY_FEE", "SUPPLIER_AGENCY_FEE", "SALE" ]
          }
        },
        "required" : [ "accountEmail", "accountIdentifier", "accountName", "displayAmount", "displayAmountRefundModifier", "displayCurrency", "internalAmount", "internalAmountRefundModifier", "internalCurrency", "netDisplayAmount", "netInternalAmount", "netSourceAmount", "sourceAmount", "sourceAmountRefundModifier", "sourceCurrency", "type" ]
      },
      "CancellationPolicyException_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "endDate" : "2026-12-31",
          "startDate" : "2026-01-14"
        },
        "properties" : {
          "cancellationPolicy" : {
            "$ref" : "#/components/schemas/CancellationPolicyRef_SupplierDetails",
            "description" : "Cancellation policy details for this exception"
          },
          "cancellationPolicyIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Cancellation policy identifier",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "End date for when this cancellation policy should end overriding the default cancellation policy.",
            "example" : "2026-12-31"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start date for when this cancellation policy should start to override the default cancellation policy.",
            "example" : "2026-01-14"
          }
        },
        "required" : [ "cancellationPolicy", "cancellationPolicyIdentifier", "endDate", "startDate" ]
      },
      "CancellationPolicyExceptions_SupplierDetails" : {
        "type" : "object",
        "description" : "Container holding the list of date-range exceptions that override the default cancellation policy for a property",
        "example" : {
          "list" : [ {
            "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "endDate" : "2026-12-31",
            "startDate" : "2026-01-14"
          } ]
        },
        "properties" : {
          "list" : {
            "type" : "array",
            "description" : "List of cancellation policy exceptions",
            "items" : {
              "$ref" : "#/components/schemas/CancellationPolicyException_SupplierDetails"
            },
            "minItems" : 1
          }
        },
        "required" : [ "list" ]
      },
      "CancellationPolicyLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight view of a cancellation policy containing all refundability rules and charge details, suitable for embedding in other documents",
        "example" : {
          "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
          "createdDate" : "2026-01-14T09:30:00",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
          "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
          "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
          "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
          "refundable" : false,
          "refundableCancellationCharge" : "FIFTY_PERCENT",
          "version" : 3
        },
        "properties" : {
          "advanceCancellationFreeOfCharge" : {
            "type" : "string",
            "description" : "When the cancellation policy is refundable, this flag can be set and indicates there is more rules involved than just a no-questions-asked refundable.",
            "enum" : [ "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "UNTIL_FOURTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ],
            "example" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL"
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property this cancellation is associated with",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "noShowCharge" : {
            "type" : "string",
            "description" : "In case the 'Refundable cancellation charge' is set, a different no show charge can be applied.",
            "enum" : [ "SAME_AS_CANCELLATION_FEE", "ONE_HUNDRED_PERCENT_OF_TOTAL_CHARGE" ],
            "example" : "SAME_AS_CANCELLATION_FEE"
          },
          "nonRefundableAfterDeadlineCancellationCharge" : {
            "type" : "string",
            "description" : "If the guest does not honor the non-refundable deadline rule, this charge dictates what she owes after the deadline passes.",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT", "ONE_HUNDRED_PERCENT" ],
            "example" : "ONE_HUNDRED_PERCENT"
          },
          "nonRefundableCancellationCharge" : {
            "type" : "string",
            "description" : "When the cancellation policy is non-refundable, this flag can be set and indicates there is more rules involved to calculate what the guest will owe in case of a cancellation.",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT" ],
            "example" : "SEVENTY_PERCENT"
          },
          "nonRefundableDeadline" : {
            "type" : "string",
            "description" : "The non-refundable charge might can have a deadline. If that deadline passes, the guest might be charged more.",
            "enum" : [ "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ],
            "example" : "SEVEN_DAYS_BEFORE_ARRIVAL"
          },
          "policyCode" : {
            "type" : "string"
          },
          "refundable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether this cancellation policy is refundable or not",
            "example" : false
          },
          "refundableCancellationCharge" : {
            "type" : "string",
            "description" : "If advanceCancellationFreeOfCharge rules is not honored, this property explains what the guest will be charged.",
            "enum" : [ "FIRST_NIGHT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SIXTY_PERCENT", "SEVENTY_PERCENT", "NINETY_PERCENT", "ONE_HUNDRED_PERCENT" ],
            "example" : "FIFTY_PERCENT"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "hotelIdentifier", "id", "refundable" ]
      },
      "CancellationPolicyRef_SupplierDetails" : {
        "type" : "object",
        "properties" : {
          "advanceCancellationFreeOfCharge" : {
            "type" : "string",
            "description" : "Advance notice window within which a cancellation is free of charge",
            "enum" : [ "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "UNTIL_FOURTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL", "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ]
          },
          "hotelIdentifier" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          },
          "noShowCharge" : {
            "type" : "string",
            "description" : "Fee structure applied when a guest fails to show up without cancelling",
            "enum" : [ "SAME_AS_CANCELLATION_FEE", "ONE_HUNDRED_PERCENT_OF_TOTAL_CHARGE" ]
          },
          "nonRefundableAfterDeadlineCancellationCharge" : {
            "type" : "string",
            "description" : "Penalty charge applied when a non-refundable booking is cancelled after the deadline",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT", "ONE_HUNDRED_PERCENT" ]
          },
          "nonRefundableCancellationCharge" : {
            "type" : "string",
            "description" : "Charge applied for cancelling a non-refundable rate",
            "enum" : [ "FIRST_NIGHT", "TEN_PERCENT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SEVENTY_PERCENT" ]
          },
          "nonRefundableDeadline" : {
            "type" : "string",
            "description" : "Deadline before arrival after which a booking becomes non-refundable",
            "enum" : [ "ONE_DAY_BEFORE_ARRIVAL", "TWO_DAYS_BEFORE_ARRIVAL", "THREE_DAYS_BEFORE_ARRIVAL", "FIVE_DAYS_BEFORE_ARRIVAL", "SEVEN_DAYS_BEFORE_ARRIVAL", "FOURTEEN_DAYS_BEFORE_ARRIVAL", "TWENTYONE_DAYS_BEFORE_ARRIVAL", "THIRTY_DAYS_BEFORE_ARRIVAL", "FOURTY_TWO_DAYS_BEFORE_ARRIVAL", "SIXTY_DAYS_BEFORE_ARRIVAL" ]
          },
          "refundable" : {
            "type" : "boolean"
          },
          "refundableCancellationCharge" : {
            "type" : "string",
            "description" : "Charge retained when a refundable booking is cancelled",
            "enum" : [ "FIRST_NIGHT", "THIRTY_PERCENT", "FIFTY_PERCENT", "SIXTY_PERCENT", "SEVENTY_PERCENT", "NINETY_PERCENT", "ONE_HUNDRED_PERCENT" ]
          }
        }
      },
      "Contact_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "email" : "johnsmith@email.com",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "lastName" : "Beaumont",
          "phoneNumber" : "+12125551212",
          "secondaryEmail" : "johnsmith2@email.com",
          "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Contact E-mail",
            "example" : "johnsmith@email.com"
          },
          "firstName" : {
            "type" : "string",
            "description" : "Contact first name",
            "example" : "Alexandra"
          },
          "fullName" : {
            "type" : "string",
            "description" : "First and last name",
            "example" : "Alexandra Beaumont",
            "readOnly" : true
          },
          "lastName" : {
            "type" : "string",
            "description" : "Contact last name",
            "example" : "Beaumont"
          },
          "phoneNumber" : {
            "type" : "string",
            "description" : "Contact phone number",
            "example" : "+12125551212",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "secondaryEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Contact secondary Email",
            "example" : "johnsmith2@email.com"
          },
          "summary" : {
            "type" : "string",
            "description" : "Summary",
            "example" : "John Smith (johnsmith@gmail.com / +12125551212)",
            "readOnly" : true
          }
        }
      },
      "DailyRateRate_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "closedOnArrival" : false,
          "closedOnDeparture" : false,
          "date" : "2020-8-24",
          "extraChildRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "extraPaxRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
          "master" : true,
          "maxLengthOfStay" : 8,
          "maxOccupancy" : 2,
          "minLengthOfStay" : 4,
          "minOccupancy" : 1,
          "quantity" : 9,
          "rate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "ratePlanIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
          "rateSource" : "NONE",
          "singleOccupancyRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          }
        },
        "properties" : {
          "closedOnArrival" : {
            "type" : "boolean",
            "default" : false,
            "description" : "This flag indicates whether a guest can arrive at the property on this date.",
            "example" : false
          },
          "closedOnDeparture" : {
            "type" : "boolean",
            "default" : false,
            "description" : "This flag indicates whether a guest can leave the property on this date.",
            "example" : false
          },
          "date" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date this rate is applicable for.",
            "example" : "2020-8-24"
          },
          "extraChildRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails"
          },
          "extraPaxRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails"
          },
          "guestRoomIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Guest room associated with this daily rate.",
            "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
            "minLength" : 1
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Owner of daily rate.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "identifier" : {
            "type" : "string",
            "description" : "Unique record identifier.",
            "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
            "minLength" : 1
          },
          "master" : {
            "type" : "boolean",
            "default" : true,
            "description" : "This flag indicates whether this rate is available for this date.",
            "example" : true
          },
          "maxLengthOfStay" : {
            "type" : "integer",
            "format" : "int32",
            "default" : -1,
            "description" : "Control the maximum length of stay at the day-level. This means that a guest arriving within this date range is required to stay no longer than these number of days in order to get this rate. Leave empty if you don't want to update this property.",
            "example" : 8
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of guest allowed in a room type.",
            "example" : 2,
            "minimum" : 1
          },
          "minLengthOfStay" : {
            "type" : "integer",
            "format" : "int32",
            "default" : -1,
            "description" : "Control the minimum length of stay at the day-level. This means that a guest arriving within this date range is required to stay at least these number of days in order to get this rate. Leave empty if you don't want to update this property.",
            "example" : 4
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Minimum number of guests allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Amount of rooms available for this date.",
            "example" : 9
          },
          "rate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "ratePlanIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Rate plan associated with this daily rate.",
            "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
            "minLength" : 1
          },
          "rateSource" : {
            "type" : "string",
            "default" : "NONE",
            "description" : "Indicate where this rate originated from. Leave as NONE unless you are a channel manager and responsible for the property's rates externally of this platform.",
            "example" : "NONE",
            "minLength" : 1
          },
          "singleOccupancyRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails"
          }
        },
        "required" : [ "closedOnArrival", "closedOnDeparture", "date", "guestRoomIdentifier", "hotelIdentifier", "identifier", "master", "maxOccupancy", "minOccupancy", "rate", "ratePlanIdentifier", "rateSource" ]
      },
      "DailyRate_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "baseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "beneficiaryList" : [ {
            "accountEmail" : "reservations@thesiamresidences.com",
            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "accountName" : "The Siam Residences, Bangkok",
            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
            "amountDue" : {
              "percent" : 0.05
            },
            "displayAmount" : 450.0,
            "displayAmountRefundModifier" : 45.0,
            "displayCurrency" : "USD",
            "internalAmount" : 450.0,
            "internalAmountRefundModifier" : 45.0,
            "internalCurrency" : "USD",
            "netDisplayAmount" : 450.0,
            "netInternalAmount" : 450.0,
            "netSourceAmount" : 450.0,
            "pendingRefunds" : [ {
              "displayAmountRefundModifier" : 45.0,
              "internalAmountRefundModifier" : 45.0,
              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
              "sourceAmountRefundModifier" : 45.0
            } ],
            "reconciled" : false,
            "sourceAmount" : 450.0,
            "sourceAmountRefundModifier" : 45.0,
            "sourceCurrency" : "THB"
          } ],
          "financialBreakdown" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "displayPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "internalPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            }
          },
          "includedAdultOccupancy" : 2,
          "includedChildOccupancy" : 0,
          "internalBaseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "internalRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "maxAdultOccupancy" : 1,
          "maxChildOccupancy" : 0,
          "offerDetails" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "rate" : {
            "closedOnArrival" : false,
            "closedOnDeparture" : false,
            "date" : "2020-8-24",
            "extraChildRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "extraPaxRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
            "master" : true,
            "maxLengthOfStay" : 8,
            "maxOccupancy" : 2,
            "minLengthOfStay" : 4,
            "minOccupancy" : 1,
            "quantity" : 9,
            "rate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "ratePlanIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
            "rateSource" : "NONE",
            "singleOccupancyRateModifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            }
          },
          "sourceBaseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "sourceRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "sourceToInternalCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceToUserCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyBaseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "adults" : {
            "type" : "integer",
            "format" : "int32"
          },
          "available" : {
            "type" : "boolean"
          },
          "baseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "beneficiaryList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Beneficiary_SupplierDetails"
            }
          },
          "betweenDate" : {
            "type" : "boolean"
          },
          "bundledModifier" : {
            "type" : "boolean"
          },
          "channelDiscountPercent" : {
            "type" : "number"
          },
          "children" : {
            "type" : "integer",
            "format" : "int32"
          },
          "closeOnArrival" : {
            "type" : "boolean"
          },
          "closeOnDeparture" : {
            "type" : "boolean"
          },
          "date" : {
            "type" : "string",
            "format" : "date"
          },
          "endDate" : {
            "type" : "boolean"
          },
          "financialBreakdown" : {
            "$ref" : "#/components/schemas/FinancialBreakdown_SupplierDetails"
          },
          "hasChannelDiscount" : {
            "type" : "boolean"
          },
          "hasModification" : {
            "type" : "boolean"
          },
          "includedAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "The number of pax the room price was meant for",
            "example" : 2,
            "minimum" : 0
          },
          "includedChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of children the room price was meant for",
            "example" : 0,
            "minimum" : 0
          },
          "internalBaseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "internalChannelModifier" : {
            "type" : "number"
          },
          "internalExtraChildModifier" : {
            "type" : "number"
          },
          "internalExtraPaxModifier" : {
            "type" : "number"
          },
          "internalPremiumModifier" : {
            "type" : "number"
          },
          "internalPromotionalModifier" : {
            "type" : "number"
          },
          "internalRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "internalSingleOccupantModifier" : {
            "type" : "number"
          },
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Final per-night rate in wink currency (base + modifiers). Computed at instantiation."
          },
          "inventoryAvailable" : {
            "type" : "boolean"
          },
          "isBetweenDate" : {
            "type" : "boolean"
          },
          "isBundledModifier" : {
            "type" : "boolean"
          },
          "isEndDate" : {
            "type" : "boolean"
          },
          "isLastNight" : {
            "type" : "boolean"
          },
          "isStartDate" : {
            "type" : "boolean"
          },
          "lastNight" : {
            "type" : "boolean"
          },
          "masterAvailability" : {
            "type" : "boolean"
          },
          "maxAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of adults allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "maxChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of children allowed in a room type.",
            "example" : 0,
            "minimum" : 0
          },
          "maxLOS" : {
            "type" : "integer",
            "format" : "int32"
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32"
          },
          "minLOS" : {
            "type" : "integer",
            "format" : "int32"
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offerDetails" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_SupplierDetails"
            }
          },
          "phantom" : {
            "type" : "boolean"
          },
          "premiumPercent" : {
            "type" : "number"
          },
          "promotion" : {
            "type" : "string"
          },
          "promotionalDiscountPercent" : {
            "type" : "number"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32"
          },
          "rate" : {
            "$ref" : "#/components/schemas/DailyRateRate_SupplierDetails"
          },
          "rateIdentifier" : {
            "type" : "string"
          },
          "source" : {
            "type" : "string"
          },
          "sourceBaseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "sourceChannelModifier" : {
            "type" : "number"
          },
          "sourceExtraChildModifier" : {
            "type" : "number"
          },
          "sourceExtraPaxModifier" : {
            "type" : "number"
          },
          "sourcePremiumModifier" : {
            "type" : "number"
          },
          "sourcePromotionalModifier" : {
            "type" : "number"
          },
          "sourceRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "sourceSingleOccupantModifier" : {
            "type" : "number"
          },
          "sourceToInternalCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails"
          },
          "sourceToUserCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails"
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Final per-night rate in hotel currency (base + modifiers). Computed at instantiation."
          },
          "startDate" : {
            "type" : "boolean"
          },
          "totalDiscountPercent" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyBaseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "userSpecifiedCurrencyChannelModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyExtraChildModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyExtraPaxModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyPremiumModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyPromotionalModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "userSpecifiedCurrencySingleOccupantModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Final per-night rate in user specified currency (base + modifiers). Computed at instantiation."
          }
        },
        "required" : [ "includedAdultOccupancy", "includedChildOccupancy", "maxAdultOccupancy", "maxChildOccupancy", "phantom", "rate", "sourceToInternalCurrencyQuote", "sourceToUserCurrencyQuote" ]
      },
      "DateRange_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "endDate" : "2020-12-31",
          "startDate" : "2020-12-24"
        },
        "properties" : {
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Retrieve data range ending with and including this end date",
            "example" : "2020-12-31"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Retrieve data range starting with and including this start date",
            "example" : "2020-12-24"
          }
        },
        "required" : [ "endDate", "startDate" ]
      },
      "DepartureDaysOfWeekRateQualifier_SupplierDetails" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to guests departing on specific days of the week.",
        "example" : {
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          }
        },
        "properties" : {
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_SupplierDetails",
            "description" : "The days of the week when the guest is allowed to depart"
          }
        },
        "required" : [ "daysOfWeek" ]
      },
      "DescriptiveReason_SupplierDetails" : {
        "type" : "object",
        "description" : "Descriptive reason container carrying an identifier, a name, an optional attribute map, and a list of human-readable reason strings used for verification or validation feedback",
        "example" : {
          "identifier" : "rule-missing-address",
          "name" : "Missing address"
        },
        "properties" : {
          "identifier" : {
            "type" : "string",
            "description" : "Unique identifier of the entity or rule this reason is associated with",
            "example" : "rule-missing-address"
          },
          "map" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Optional key-value attribute map providing additional context for the reason"
          },
          "name" : {
            "type" : "string",
            "description" : "Human-readable name of the entity or rule associated with this reason",
            "example" : "Missing address"
          },
          "reasons" : {
            "type" : "array",
            "description" : "List of human-readable reason strings explaining why verification failed or an action is required",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "DescriptiveRoomTypeWithPriceConfigurations_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "bestPrice" : {
            "activeCancellationPolicy" : {
              "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
              "createdDate" : "2026-01-14T09:30:00",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
              "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
              "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
              "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
              "refundable" : false,
              "refundableCancellationCharge" : "FIFTY_PERCENT",
              "version" : 3
            },
            "addOnOffers" : [ {
              "addOn" : {
                "active" : true,
                "address" : {
                  "address1" : "234 Near da beach",
                  "address2" : "Pebble #5001",
                  "city" : "Bangkok",
                  "country" : "United States",
                  "countryCode" : "TH",
                  "county" : "Alameda county",
                  "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                  "postalCode" : "90210",
                  "state" : "CA"
                },
                "applicableEnd" : "1970-12-1",
                "applicableStart" : "1970-1-1",
                "bookable" : true,
                "closes" : "17:30",
                "commissionable" : true,
                "contact" : {
                  "email" : "johnsmith@email.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phoneNumber" : "+12125551212",
                  "secondaryEmail" : "johnsmith2@email.com",
                  "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                },
                "createdDate" : "2026-01-14T09:30:00",
                "dateRanges" : [ {
                  "endDate" : "2020-12-31",
                  "startDate" : "2020-12-24"
                } ],
                "daysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                },
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                } ],
                "featuredInd" : false,
                "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "lastUpdate" : "2026-02-03T16:45:12",
                "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                "location" : {
                  "coordinates" : [ 100.5581533, 13.7370197 ],
                  "type" : "POINT"
                },
                "mandatory" : true,
                "minAgeAppropriateCode" : "1",
                "multimedias" : [ {
                  "angle" : null,
                  "attribution" : [ ],
                  "category" : "2",
                  "descriptions" : [ {
                    "description" : "Elegant lobby of The Siam Residences",
                    "language" : "en",
                    "title" : "Lobby Entrance"
                  } ],
                  "height" : 1600,
                  "identifier" : "the-siam-residences/lobby-entrance",
                  "isLandscape" : true,
                  "lifestyleType" : null,
                  "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "published" : true,
                  "sort" : 10,
                  "source" : "CLOUDINARY",
                  "type" : "IMAGE",
                  "width" : 2560
                } ],
                "name" : "Archery lesson",
                "numberOfUnits" : 15,
                "opens" : "09:00",
                "pricePoint" : "THREE",
                "proximityCode" : "1",
                "publishStatus" : "PUBLISHED",
                "ratePlan" : {
                  "allInclusive" : false,
                  "allInclusivePlusAlcohol" : false,
                  "arrivalDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "availableDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "breakfast" : false,
                  "brunch" : false,
                  "cancellationPolicy" : {
                    "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                    "createdDate" : "2026-01-14T09:30:00",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                    "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                    "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                    "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                    "refundable" : false,
                    "refundableCancellationCharge" : "FIFTY_PERCENT",
                    "version" : 3
                  },
                  "cancellationPolicyExceptions" : {
                    "list" : [ {
                      "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "endDate" : "2026-12-31",
                      "startDate" : "2026-01-14"
                    } ]
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "departureDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dinner" : false,
                  "earlyCheckInCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "enabled" : false,
                  "extraChildRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lateCheckOutCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "loyaltyPointsAccrue" : false,
                  "lunch" : false,
                  "maxAdvanceBookingOffset" : 180,
                  "maxAge" : 65,
                  "maxLOS" : 30,
                  "maxTotalOccupancy" : 4,
                  "minAdvanceBookingOffset" : 3,
                  "minAge" : 18,
                  "minLOS" : 1,
                  "minTotalOccupancy" : 1,
                  "name" : "Best Available Rate",
                  "prepaid" : false,
                  "ratePlanLevelFees" : [ {
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "fixedAmount" : 450.0,
                    "type" : "PER_DAY"
                  } ],
                  "requiredDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "sellEndDate" : "2026-12-31",
                  "sellStartDate" : "2026-01-15",
                  "singleOccupancyRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "stayEndDate" : "2026-12-31",
                  "stayStartDate" : "2026-01-15",
                  "version" : 3
                },
                "recognitionList" : [ {
                  "category" : "AWARD",
                  "date" : "2026-01-14",
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "maxRating" : 10.0,
                  "officialAppointmentInd" : true,
                  "provider" : "Michelin",
                  "rating" : 8.5,
                  "ratingSymbol" : "*",
                  "type" : "PERCENT_RATING"
                } ],
                "reservationRequiredInd" : false,
                "socials" : [ {
                  "location" : "https://www.instagram.com/thesiamresidences",
                  "type" : "INSTAGRAM"
                } ],
                "sort" : 1,
                "transactionalInventoryList" : [ {
                  "basePrice" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "discountedPrice" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "maxPax" : 10,
                  "minPax" : 2,
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "1 hour session",
                  "percentDiscount" : 0.1,
                  "percentPremium" : 0.1,
                  "pricingType" : "PER_NIGHT"
                } ],
                "version" : 3
              },
              "commission" : 0.1,
              "direct" : true,
              "priceList" : [ {
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                } ],
                "identifier" : "travel-blocking-1",
                "maxPax" : 10,
                "minPax" : 2,
                "multimedias" : [ {
                  "angle" : null,
                  "attribution" : [ ],
                  "category" : "2",
                  "descriptions" : [ {
                    "description" : "Elegant lobby of The Siam Residences",
                    "language" : "en",
                    "title" : "Lobby Entrance"
                  } ],
                  "height" : 1600,
                  "identifier" : "the-siam-residences/lobby-entrance",
                  "isLandscape" : true,
                  "lifestyleType" : null,
                  "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "published" : true,
                  "sort" : 10,
                  "source" : "CLOUDINARY",
                  "type" : "IMAGE",
                  "width" : 2560
                } ],
                "name" : "1 hour session",
                "offerDetails" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "price" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                }
              } ]
            } ],
            "commission" : 0.1,
            "configuration" : {
              "adults" : 2,
              "children" : [ {
                "age" : 7,
                "quantity" : 2
              } ],
              "quantity" : 2
            },
            "direct" : true,
            "extraCharges" : {
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "items" : [ {
                "price" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                },
                "ratePlanLevelFee" : {
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "fixedAmount" : 450.0,
                  "type" : "PER_DAY"
                },
                "unitPrice" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                }
              } ],
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "list" : [ {
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "identifier" : "travel-blocking-1",
              "maxPax" : 10,
              "minPax" : 2,
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "1 hour session",
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              }
            } ],
            "perkTypes" : [ {
              "descriptions" : [ {
                "description" : "Guaranteed upgrade to the next available room category at check-in",
                "language" : "en",
                "name" : "Guaranteed Room Upgrade"
              } ],
              "guaranteed" : true,
              "id" : "PERK_GUARANTEED_UPGRADE",
              "level" : 3,
              "sort" : 5
            } ],
            "price" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "internalAveragePricePerNight" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalExtraChildModifier" : 15,
              "internalExtraPaxModifier" : 15,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalSingleOccupantModifier" : -15,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "list" : [ {
                "baseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "financialBreakdown" : {
                  "beneficiaryList" : [ {
                    "accountEmail" : "reservations@thesiamresidences.com",
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "The Siam Residences, Bangkok",
                    "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                    "amountDue" : {
                      "percent" : 0.05
                    },
                    "displayAmount" : 450.0,
                    "displayAmountRefundModifier" : 45.0,
                    "displayCurrency" : "USD",
                    "internalAmount" : 450.0,
                    "internalAmountRefundModifier" : 45.0,
                    "internalCurrency" : "USD",
                    "netDisplayAmount" : 450.0,
                    "netInternalAmount" : 450.0,
                    "netSourceAmount" : 450.0,
                    "pendingRefunds" : [ {
                      "displayAmountRefundModifier" : 45.0,
                      "internalAmountRefundModifier" : 45.0,
                      "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                      "sourceAmountRefundModifier" : 45.0
                    } ],
                    "reconciled" : false,
                    "sourceAmount" : 450.0,
                    "sourceAmountRefundModifier" : 45.0,
                    "sourceCurrency" : "THB"
                  } ],
                  "displayPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "internalPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  }
                },
                "includedAdultOccupancy" : 2,
                "includedChildOccupancy" : 0,
                "internalBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "maxAdultOccupancy" : 1,
                "maxChildOccupancy" : 0,
                "offerDetails" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "rate" : {
                  "closedOnArrival" : false,
                  "closedOnDeparture" : false,
                  "date" : "2020-8-24",
                  "extraChildRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                  "master" : true,
                  "maxLengthOfStay" : 8,
                  "maxOccupancy" : 2,
                  "minLengthOfStay" : 4,
                  "minOccupancy" : 1,
                  "quantity" : 9,
                  "rate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "ratePlanIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                  "rateSource" : "NONE",
                  "singleOccupancyRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  }
                },
                "sourceBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              } ],
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "sourceAveragePricePerNight" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourceExtraChildModifier" : 15,
              "sourceExtraPaxModifier" : 15,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceSingleOccupantModifier" : -15,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyAveragePricePerNight" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyExtraChildModifier" : 15,
              "userSpecifiedCurrencyExtraPaxModifier" : 15,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencySingleOccupantModifier" : -15,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "priceList" : [ {
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "identifier" : "travel-blocking-1",
              "maxPax" : 10,
              "minPax" : 2,
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "1 hour session",
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              }
            } ],
            "ratePlan" : {
              "allInclusive" : false,
              "allInclusivePlusAlcohol" : false,
              "breakfast" : false,
              "brunch" : false,
              "dinner" : false,
              "earlyCheckInCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "lateCheckOutCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "lunch" : false,
              "name" : "BAR 1"
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "inaccessibleAvailabilityReason" : {
            "identifier" : "rule-missing-address",
            "name" : "Missing address"
          },
          "priceConfigurations" : [ {
            "activeCancellationPolicy" : {
              "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
              "createdDate" : "2026-01-14T09:30:00",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
              "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
              "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
              "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
              "refundable" : false,
              "refundableCancellationCharge" : "FIFTY_PERCENT",
              "version" : 3
            },
            "addOnOffers" : [ {
              "addOn" : {
                "active" : true,
                "address" : {
                  "address1" : "234 Near da beach",
                  "address2" : "Pebble #5001",
                  "city" : "Bangkok",
                  "country" : "United States",
                  "countryCode" : "TH",
                  "county" : "Alameda county",
                  "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                  "postalCode" : "90210",
                  "state" : "CA"
                },
                "applicableEnd" : "1970-12-1",
                "applicableStart" : "1970-1-1",
                "bookable" : true,
                "closes" : "17:30",
                "commissionable" : true,
                "contact" : {
                  "email" : "johnsmith@email.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phoneNumber" : "+12125551212",
                  "secondaryEmail" : "johnsmith2@email.com",
                  "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                },
                "createdDate" : "2026-01-14T09:30:00",
                "dateRanges" : [ {
                  "endDate" : "2020-12-31",
                  "startDate" : "2020-12-24"
                } ],
                "daysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                },
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                } ],
                "featuredInd" : false,
                "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "lastUpdate" : "2026-02-03T16:45:12",
                "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                "location" : {
                  "coordinates" : [ 100.5581533, 13.7370197 ],
                  "type" : "POINT"
                },
                "mandatory" : true,
                "minAgeAppropriateCode" : "1",
                "multimedias" : [ {
                  "angle" : null,
                  "attribution" : [ ],
                  "category" : "2",
                  "descriptions" : [ {
                    "description" : "Elegant lobby of The Siam Residences",
                    "language" : "en",
                    "title" : "Lobby Entrance"
                  } ],
                  "height" : 1600,
                  "identifier" : "the-siam-residences/lobby-entrance",
                  "isLandscape" : true,
                  "lifestyleType" : null,
                  "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "published" : true,
                  "sort" : 10,
                  "source" : "CLOUDINARY",
                  "type" : "IMAGE",
                  "width" : 2560
                } ],
                "name" : "Archery lesson",
                "numberOfUnits" : 15,
                "opens" : "09:00",
                "pricePoint" : "THREE",
                "proximityCode" : "1",
                "publishStatus" : "PUBLISHED",
                "ratePlan" : {
                  "allInclusive" : false,
                  "allInclusivePlusAlcohol" : false,
                  "arrivalDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "availableDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "breakfast" : false,
                  "brunch" : false,
                  "cancellationPolicy" : {
                    "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                    "createdDate" : "2026-01-14T09:30:00",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                    "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                    "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                    "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                    "refundable" : false,
                    "refundableCancellationCharge" : "FIFTY_PERCENT",
                    "version" : 3
                  },
                  "cancellationPolicyExceptions" : {
                    "list" : [ {
                      "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "endDate" : "2026-12-31",
                      "startDate" : "2026-01-14"
                    } ]
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "departureDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dinner" : false,
                  "earlyCheckInCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "enabled" : false,
                  "extraChildRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lateCheckOutCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "loyaltyPointsAccrue" : false,
                  "lunch" : false,
                  "maxAdvanceBookingOffset" : 180,
                  "maxAge" : 65,
                  "maxLOS" : 30,
                  "maxTotalOccupancy" : 4,
                  "minAdvanceBookingOffset" : 3,
                  "minAge" : 18,
                  "minLOS" : 1,
                  "minTotalOccupancy" : 1,
                  "name" : "Best Available Rate",
                  "prepaid" : false,
                  "ratePlanLevelFees" : [ {
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "fixedAmount" : 450.0,
                    "type" : "PER_DAY"
                  } ],
                  "requiredDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "sellEndDate" : "2026-12-31",
                  "sellStartDate" : "2026-01-15",
                  "singleOccupancyRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "stayEndDate" : "2026-12-31",
                  "stayStartDate" : "2026-01-15",
                  "version" : 3
                },
                "recognitionList" : [ {
                  "category" : "AWARD",
                  "date" : "2026-01-14",
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "maxRating" : 10.0,
                  "officialAppointmentInd" : true,
                  "provider" : "Michelin",
                  "rating" : 8.5,
                  "ratingSymbol" : "*",
                  "type" : "PERCENT_RATING"
                } ],
                "reservationRequiredInd" : false,
                "socials" : [ {
                  "location" : "https://www.instagram.com/thesiamresidences",
                  "type" : "INSTAGRAM"
                } ],
                "sort" : 1,
                "transactionalInventoryList" : [ {
                  "basePrice" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "discountedPrice" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "maxPax" : 10,
                  "minPax" : 2,
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "1 hour session",
                  "percentDiscount" : 0.1,
                  "percentPremium" : 0.1,
                  "pricingType" : "PER_NIGHT"
                } ],
                "version" : 3
              },
              "commission" : 0.1,
              "direct" : true,
              "priceList" : [ {
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                } ],
                "identifier" : "travel-blocking-1",
                "maxPax" : 10,
                "minPax" : 2,
                "multimedias" : [ {
                  "angle" : null,
                  "attribution" : [ ],
                  "category" : "2",
                  "descriptions" : [ {
                    "description" : "Elegant lobby of The Siam Residences",
                    "language" : "en",
                    "title" : "Lobby Entrance"
                  } ],
                  "height" : 1600,
                  "identifier" : "the-siam-residences/lobby-entrance",
                  "isLandscape" : true,
                  "lifestyleType" : null,
                  "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "published" : true,
                  "sort" : 10,
                  "source" : "CLOUDINARY",
                  "type" : "IMAGE",
                  "width" : 2560
                } ],
                "name" : "1 hour session",
                "offerDetails" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "price" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                }
              } ]
            } ],
            "commission" : 0.1,
            "configuration" : {
              "adults" : 2,
              "children" : [ {
                "age" : 7,
                "quantity" : 2
              } ],
              "quantity" : 2
            },
            "direct" : true,
            "extraCharges" : {
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "items" : [ {
                "price" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                },
                "ratePlanLevelFee" : {
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "fixedAmount" : 450.0,
                  "type" : "PER_DAY"
                },
                "unitPrice" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                }
              } ],
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "list" : [ {
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "identifier" : "travel-blocking-1",
              "maxPax" : 10,
              "minPax" : 2,
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "1 hour session",
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              }
            } ],
            "perkTypes" : [ {
              "descriptions" : [ {
                "description" : "Guaranteed upgrade to the next available room category at check-in",
                "language" : "en",
                "name" : "Guaranteed Room Upgrade"
              } ],
              "guaranteed" : true,
              "id" : "PERK_GUARANTEED_UPGRADE",
              "level" : 3,
              "sort" : 5
            } ],
            "price" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "internalAveragePricePerNight" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalExtraChildModifier" : 15,
              "internalExtraPaxModifier" : 15,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalSingleOccupantModifier" : -15,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "list" : [ {
                "baseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "financialBreakdown" : {
                  "beneficiaryList" : [ {
                    "accountEmail" : "reservations@thesiamresidences.com",
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "The Siam Residences, Bangkok",
                    "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                    "amountDue" : {
                      "percent" : 0.05
                    },
                    "displayAmount" : 450.0,
                    "displayAmountRefundModifier" : 45.0,
                    "displayCurrency" : "USD",
                    "internalAmount" : 450.0,
                    "internalAmountRefundModifier" : 45.0,
                    "internalCurrency" : "USD",
                    "netDisplayAmount" : 450.0,
                    "netInternalAmount" : 450.0,
                    "netSourceAmount" : 450.0,
                    "pendingRefunds" : [ {
                      "displayAmountRefundModifier" : 45.0,
                      "internalAmountRefundModifier" : 45.0,
                      "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                      "sourceAmountRefundModifier" : 45.0
                    } ],
                    "reconciled" : false,
                    "sourceAmount" : 450.0,
                    "sourceAmountRefundModifier" : 45.0,
                    "sourceCurrency" : "THB"
                  } ],
                  "displayPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "internalPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  }
                },
                "includedAdultOccupancy" : 2,
                "includedChildOccupancy" : 0,
                "internalBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "maxAdultOccupancy" : 1,
                "maxChildOccupancy" : 0,
                "offerDetails" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "rate" : {
                  "closedOnArrival" : false,
                  "closedOnDeparture" : false,
                  "date" : "2020-8-24",
                  "extraChildRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                  "master" : true,
                  "maxLengthOfStay" : 8,
                  "maxOccupancy" : 2,
                  "minLengthOfStay" : 4,
                  "minOccupancy" : 1,
                  "quantity" : 9,
                  "rate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "ratePlanIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                  "rateSource" : "NONE",
                  "singleOccupancyRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  }
                },
                "sourceBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              } ],
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "sourceAveragePricePerNight" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourceExtraChildModifier" : 15,
              "sourceExtraPaxModifier" : 15,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceSingleOccupantModifier" : -15,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyAveragePricePerNight" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyExtraChildModifier" : 15,
              "userSpecifiedCurrencyExtraPaxModifier" : 15,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencySingleOccupantModifier" : -15,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "priceList" : [ {
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "identifier" : "travel-blocking-1",
              "maxPax" : 10,
              "minPax" : 2,
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "1 hour session",
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              }
            } ],
            "ratePlan" : {
              "allInclusive" : false,
              "allInclusivePlusAlcohol" : false,
              "breakfast" : false,
              "brunch" : false,
              "dinner" : false,
              "earlyCheckInCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "lateCheckOutCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "lunch" : false,
              "name" : "BAR 1"
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          } ],
          "room" : {
            "active" : true,
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "baseRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "bathroomCount" : 0,
            "bedroomConfigurationList" : [ {
              "bedroomList" : [ {
                "bedList" : [ {
                  "bedTypeCode" : "1",
                  "quantity" : 2
                } ],
                "type" : "MASTER"
              } ],
              "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "name" : "Master Suite Layout"
            } ],
            "bookable" : true,
            "commissionable" : true,
            "composite" : false,
            "compositeCount" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "createdDate" : "2026-01-14T09:30:00",
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "featuredInd" : false,
            "floor" : "3",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "includedAdultOccupancy" : 2,
            "includedChildOccupancy" : 0,
            "lastUpdate" : "2026-02-03T16:45:12",
            "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
            "livingRoomCount" : 0,
            "location" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            },
            "maxAdultOccupancy" : 1,
            "maxChildOccupancy" : 0,
            "maxCribs" : 1,
            "maxOccupancy" : 2,
            "maxRollaways" : 0,
            "minAgeAppropriateCode" : "1",
            "minOccupancy" : 1,
            "minRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "Archery lesson",
            "nonSmoking" : true,
            "pricePoint" : "THREE",
            "proximityCode" : "1",
            "publishStatus" : "PUBLISHED",
            "quantity" : 40,
            "recognitionList" : [ {
              "category" : "AWARD",
              "date" : "2026-01-14",
              "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "maxRating" : 10.0,
              "officialAppointmentInd" : true,
              "provider" : "Michelin",
              "rating" : 8.5,
              "ratingSymbol" : "*",
              "type" : "PERCENT_RATING"
            } ],
            "roomArchitectureCode" : "1",
            "roomCategory" : "1",
            "roomClassificationCode" : "1",
            "roomGender" : "Female",
            "roomLocationCode" : "1",
            "roomViewCode" : "1",
            "sharedRoomInd" : false,
            "size" : 55,
            "socials" : [ {
              "location" : "https://www.instagram.com/thesiamresidences",
              "type" : "INSTAGRAM"
            } ],
            "sort" : 1,
            "transactionalInventoryList" : [ {
              "basePrice" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "discountedPrice" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "maxPax" : 10,
              "minPax" : 2,
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "1 hour session",
              "percentDiscount" : 0.1,
              "percentPremium" : 0.1,
              "pricingType" : "PER_NIGHT"
            } ],
            "version" : 3
          }
        },
        "properties" : {
          "available" : {
            "type" : "boolean"
          },
          "bestPrice" : {
            "$ref" : "#/components/schemas/RoomConfigurationPrice_SupplierDetails"
          },
          "inaccessibleAvailabilityReason" : {
            "$ref" : "#/components/schemas/DescriptiveReason_SupplierDetails"
          },
          "priceConfigurations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RoomConfigurationPrice_SupplierDetails"
            }
          },
          "room" : {
            "$ref" : "#/components/schemas/GuestRoomLightweight_SupplierDetails"
          }
        }
      },
      "DescriptiveRoom_SupplierDetails" : {
        "type" : "object",
        "description" : "A wrapper around a room with metadata about availability and pricing, including accessible and inaccessible master rates, inventory, rate plans, and availability details",
        "example" : {
          "accessibleAvailability" : [ {
            "available" : true,
            "room" : {
              "identifier" : "8b1a6f0c-3d7e-9f5a-4b2c-1d9e5f3a7b06"
            }
          } ],
          "accessibleInventory" : [ {
            "identifier" : "5e8d3c7f-0a4b-6c2d-1e9f-8a6b2c0d4e73"
          } ],
          "accessibleMasterRates" : [ {
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "name" : "Flexible Rate"
          } ],
          "accessibleRatePlans" : [ {
            "identifier" : "6f9e4d8a-1b5c-7d3e-2f0a-9b7c3d1e5f84",
            "name" : "Standard Plan",
            "reasons" : [ "Rate plan matches itinerary" ]
          } ],
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "inaccessibleAvailability" : [ {
            "identifier" : "9c2b7a1d-4e8f-0a6b-5c3d-2e0f6a4b8c17",
            "name" : "Presidential Suite",
            "reasons" : [ "No availability for selected dates" ]
          } ],
          "inaccessibleMasterRates" : [ {
            "identifier" : "4d7c2b6e-9f3a-5b1c-0d8e-7f5a1b9c3d62",
            "name" : "Non-refundable Rate",
            "reasons" : [ "Rate not available for selected dates" ]
          } ],
          "inaccessibleRatePlans" : [ {
            "identifier" : "7a0f5e9b-2c6d-8e4f-3a1b-0c8d4e2f6a95",
            "name" : "Corporate Plan",
            "reasons" : [ "Corporate code required" ]
          } ],
          "roomName" : "Deluxe Suite"
        },
        "properties" : {
          "accessibleAvailability" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DescriptiveRoomTypeWithPriceConfigurations_SupplierDetails"
            }
          },
          "accessibleInventory" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InventoryLightweight_SupplierDetails"
            }
          },
          "accessibleMasterRates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MasterRateLightweight_SupplierDetails"
            }
          },
          "accessibleRatePlans" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DescriptiveReason_SupplierDetails"
            }
          },
          "identifier" : {
            "type" : "string"
          },
          "inaccessibleAvailability" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DescriptiveReason_SupplierDetails"
            }
          },
          "inaccessibleMasterRates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DescriptiveReason_SupplierDetails"
            }
          },
          "inaccessibleRatePlans" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DescriptiveReason_SupplierDetails"
            }
          },
          "roomName" : {
            "type" : "string"
          }
        }
      },
      "DowPatternGroup_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "disabled" : true,
          "fri" : true,
          "mon" : true,
          "sat" : true,
          "sun" : true,
          "thu" : true,
          "tue" : true,
          "wed" : true
        },
        "properties" : {
          "disabled" : {
            "type" : "boolean",
            "description" : "Convenience property to quickly determine if this existing object has any active days enabled.",
            "example" : true
          },
          "fri" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Friday.",
            "example" : true
          },
          "mon" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Monday.",
            "example" : true
          },
          "sat" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Saturday.",
            "example" : true
          },
          "sun" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Sunday.",
            "example" : true
          },
          "thu" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Thursday.",
            "example" : true
          },
          "tue" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Tuesday.",
            "example" : true
          },
          "wed" : {
            "type" : "boolean",
            "description" : "Set to `true` to enable Wednesday.",
            "example" : true
          }
        }
      },
      "ExtraCharge_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "price" : {
            "internalBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalChannelModifier" : -10,
            "internalPremiumModifier" : 40,
            "internalPromotionalModifier" : -40,
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "quantity" : 1,
            "sourceBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceChannelModifier" : -10,
            "sourcePremiumModifier" : 40,
            "sourcePromotionalModifier" : -40,
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyChannelModifier" : -10,
            "userSpecifiedCurrencyPremiumModifier" : 40,
            "userSpecifiedCurrencyPromotionalModifier" : -40,
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "ratePlanLevelFee" : {
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "fixedAmount" : 450.0,
            "type" : "PER_DAY"
          },
          "unitPrice" : {
            "internalBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalChannelModifier" : -10,
            "internalPremiumModifier" : 40,
            "internalPromotionalModifier" : -40,
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "quantity" : 1,
            "sourceBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceChannelModifier" : -10,
            "sourcePremiumModifier" : 40,
            "sourcePromotionalModifier" : -40,
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyChannelModifier" : -10,
            "userSpecifiedCurrencyPremiumModifier" : 40,
            "userSpecifiedCurrencyPromotionalModifier" : -40,
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          }
        },
        "properties" : {
          "price" : {
            "$ref" : "#/components/schemas/LocalizedPrice_SupplierDetails",
            "description" : "The localized price of the extra charge"
          },
          "ratePlanLevelFee" : {
            "$ref" : "#/components/schemas/RatePlanLevelFee_SupplierDetails",
            "description" : "What the guest is paying extra for"
          },
          "unitPrice" : {
            "$ref" : "#/components/schemas/LocalizedPrice_SupplierDetails",
            "description" : "The localized unit price of the extra charge"
          }
        }
      },
      "ExtraCharges_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "items" : [ {
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "ratePlanLevelFee" : {
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "fixedAmount" : 450.0,
              "type" : "PER_DAY"
            },
            "unitPrice" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            }
          } ],
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "items" : {
            "type" : "array",
            "description" : "List of extra charges that applies to the rate plan.",
            "items" : {
              "$ref" : "#/components/schemas/ExtraCharge_SupplierDetails"
            },
            "title" : "Items"
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          }
        }
      },
      "FinancialBreakdown_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "beneficiaryList" : [ {
            "accountEmail" : "reservations@thesiamresidences.com",
            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "accountName" : "The Siam Residences, Bangkok",
            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
            "amountDue" : {
              "percent" : 0.05
            },
            "displayAmount" : 450.0,
            "displayAmountRefundModifier" : 45.0,
            "displayCurrency" : "USD",
            "internalAmount" : 450.0,
            "internalAmountRefundModifier" : 45.0,
            "internalCurrency" : "USD",
            "netDisplayAmount" : 450.0,
            "netInternalAmount" : 450.0,
            "netSourceAmount" : 450.0,
            "pendingRefunds" : [ {
              "displayAmountRefundModifier" : 45.0,
              "internalAmountRefundModifier" : 45.0,
              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
              "sourceAmountRefundModifier" : 45.0
            } ],
            "reconciled" : false,
            "sourceAmount" : 450.0,
            "sourceAmountRefundModifier" : 45.0,
            "sourceCurrency" : "THB"
          } ],
          "displayPriceQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "internalPriceQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          }
        },
        "properties" : {
          "beneficiaryList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Beneficiary_SupplierDetails"
            }
          },
          "commissionableTotalDisplayAmount" : {
            "type" : "number"
          },
          "commissionableTotalInternalAmount" : {
            "type" : "number"
          },
          "commissionableTotalSourceAmount" : {
            "type" : "number"
          },
          "displayAmount" : {
            "type" : "number"
          },
          "displayAmountRefundModifier" : {
            "type" : "number"
          },
          "displayCurrency" : {
            "type" : "string"
          },
          "displayPriceQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails"
          },
          "internalAmount" : {
            "type" : "number"
          },
          "internalAmountRefundModifier" : {
            "type" : "number"
          },
          "internalCurrency" : {
            "type" : "string"
          },
          "internalPriceQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { }
          },
          "netCommissionableTotalDisplayAmount" : {
            "type" : "number"
          },
          "netCommissionableTotalInternalAmount" : {
            "type" : "number"
          },
          "netCommissionableTotalSourceAmount" : {
            "type" : "number"
          },
          "netDisplayAmount" : {
            "type" : "number"
          },
          "netInternalAmount" : {
            "type" : "number"
          },
          "netSourceAmount" : {
            "type" : "number"
          },
          "netTotalAffiliateAgencyFeesDisplayAmount" : {
            "type" : "number"
          },
          "netTotalAffiliateAgencyFeesInternalAmount" : {
            "type" : "number"
          },
          "netTotalAffiliateAgencyFeesSourceAmount" : {
            "type" : "number"
          },
          "netTotalCustomersDisplayAmount" : {
            "type" : "number"
          },
          "netTotalCustomersInternalAmount" : {
            "type" : "number"
          },
          "netTotalCustomersSourceAmount" : {
            "type" : "number"
          },
          "netTotalFeesAndCommissionsDisplayAmount" : {
            "type" : "number"
          },
          "netTotalFeesAndCommissionsInternalAmount" : {
            "type" : "number"
          },
          "netTotalFeesAndCommissionsSourceAmount" : {
            "type" : "number"
          },
          "netTotalFeesDisplayAmount" : {
            "type" : "number"
          },
          "netTotalFeesInternalAmount" : {
            "type" : "number"
          },
          "netTotalFeesSourceAmount" : {
            "type" : "number"
          },
          "netTotalPaymentProcessingFeeDisplayAmount" : {
            "type" : "number"
          },
          "netTotalPaymentProcessingFeeInternalAmount" : {
            "type" : "number"
          },
          "netTotalPaymentProcessingFeeSourceAmount" : {
            "type" : "number"
          },
          "netTotalPlatformFeeDisplayAmount" : {
            "type" : "number"
          },
          "netTotalPlatformFeeInternalAmount" : {
            "type" : "number"
          },
          "netTotalPlatformFeeSourceAmount" : {
            "type" : "number"
          },
          "netTotalSalesDisplayAmount" : {
            "type" : "number"
          },
          "netTotalSalesInternalAmount" : {
            "type" : "number"
          },
          "netTotalSalesSourceAmount" : {
            "type" : "number"
          },
          "netTotalSupplierAgencyFeesDisplayAmount" : {
            "type" : "number"
          },
          "netTotalSupplierAgencyFeesInternalAmount" : {
            "type" : "number"
          },
          "netTotalSupplierAgencyFeesSourceAmount" : {
            "type" : "number"
          },
          "sourceAmount" : {
            "type" : "number"
          },
          "sourceAmountRefundModifier" : {
            "type" : "number"
          },
          "sourceCurrency" : {
            "type" : "string"
          },
          "totalAffiliateAgencyFeesDisplayAmount" : {
            "type" : "number"
          },
          "totalAffiliateAgencyFeesInternalAmount" : {
            "type" : "number"
          },
          "totalAffiliateAgencyFeesSourceAmount" : {
            "type" : "number"
          },
          "totalFeesAndCommissionsDisplayAmount" : {
            "type" : "number"
          },
          "totalFeesAndCommissionsInternalAmount" : {
            "type" : "number"
          },
          "totalFeesAndCommissionsSourceAmount" : {
            "type" : "number"
          },
          "totalFeesDisplayAmount" : {
            "type" : "number"
          },
          "totalFeesInternalAmount" : {
            "type" : "number"
          },
          "totalFeesSourceAmount" : {
            "type" : "number"
          },
          "totalPaymentProcessingFeeDisplayAmount" : {
            "type" : "number"
          },
          "totalPaymentProcessingFeeInternalAmount" : {
            "type" : "number"
          },
          "totalPaymentProcessingFeeSourceAmount" : {
            "type" : "number"
          },
          "totalPlatformFeeDisplayAmount" : {
            "type" : "number"
          },
          "totalPlatformFeeInternalAmount" : {
            "type" : "number"
          },
          "totalPlatformFeeSourceAmount" : {
            "type" : "number"
          },
          "totalSalesDisplayAmount" : {
            "type" : "number"
          },
          "totalSalesInternalAmount" : {
            "type" : "number"
          },
          "totalSalesSourceAmount" : {
            "type" : "number"
          },
          "totalSupplierAgencyFeesDisplayAmount" : {
            "type" : "number"
          },
          "totalSupplierAgencyFeesInternalAmount" : {
            "type" : "number"
          },
          "totalSupplierAgencyFeesSourceAmount" : {
            "type" : "number"
          }
        }
      },
      "GeoJsonPoint_SupplierDetails" : {
        "type" : "object",
        "properties" : {
          "coordinates" : {
            "type" : "array",
            "items" : {
              "type" : "number",
              "format" : "double"
            }
          },
          "type" : {
            "type" : "string"
          },
          "x" : {
            "type" : "number",
            "format" : "double"
          },
          "y" : {
            "type" : "number",
            "format" : "double"
          }
        }
      },
      "GuestRoomLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "A lightweight projection of a room type, carrying all occupancy, bedroom configuration, pricing and classification details needed for availability and booking flows.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "baseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "bathroomCount" : 0,
          "bedroomConfigurationList" : [ {
            "bedroomList" : [ {
              "bedList" : [ {
                "bedTypeCode" : "1",
                "quantity" : 2
              } ],
              "type" : "MASTER"
            } ],
            "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "name" : "Master Suite Layout"
          } ],
          "bookable" : true,
          "commissionable" : true,
          "composite" : false,
          "compositeCount" : 2,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "floor" : "3",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "includedAdultOccupancy" : 2,
          "includedChildOccupancy" : 0,
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "livingRoomCount" : 0,
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "maxAdultOccupancy" : 1,
          "maxChildOccupancy" : 0,
          "maxCribs" : 1,
          "maxOccupancy" : 2,
          "maxRollaways" : 0,
          "minAgeAppropriateCode" : "1",
          "minOccupancy" : 1,
          "minRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "nonSmoking" : true,
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "quantity" : 40,
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "roomArchitectureCode" : "1",
          "roomCategory" : "1",
          "roomClassificationCode" : "1",
          "roomGender" : "Female",
          "roomLocationCode" : "1",
          "roomViewCode" : "1",
          "sharedRoomInd" : false,
          "size" : 55,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_SupplierDetails",
            "description" : "Defaults to property address."
          },
          "amenities" : {
            "type" : "array",
            "description" : "OpenTravel room amenity codes (e.g., 1=Balcony, 7=Air Conditioning). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "baseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate during regular remand period"
          },
          "bathroomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of bathrooms",
            "example" : 0,
            "minimum" : 0
          },
          "bedroomConfigurationList" : {
            "type" : "array",
            "description" : "A room type can have more than one bed configuration.",
            "items" : {
              "$ref" : "#/components/schemas/BedroomConfiguration_SupplierDetails"
            },
            "minItems" : 1
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "composite" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates that the room (suite) is a composite of smaller units.",
            "example" : false
          },
          "compositeCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of rooms of this room type that makes up a larger unit (composite) such as a two bedroom suite could be comprised of two king rooms plus other room types. A 0 means disabled.",
            "example" : 2,
            "minimum" : 0
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_SupplierDetails",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_SupplierDetails"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "floor" : {
            "type" : "string",
            "description" : "Floor number on which this room type is located.",
            "example" : "3"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "includedAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "The number of pax the room price was meant for",
            "example" : 2,
            "minimum" : 0
          },
          "includedChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of children the room price was meant for",
            "example" : 0,
            "minimum" : 0
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "livingRoomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of living rooms",
            "example" : 0,
            "minimum" : 0
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_SupplierDetails",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "maxAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of adults allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "maxChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of children allowed in a room type.",
            "example" : 0,
            "minimum" : 0
          },
          "maxCribs" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of cribs allowed in a room type.",
            "example" : 1,
            "minimum" : 0
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of guest allowed in a room type.",
            "example" : 2,
            "minimum" : 1
          },
          "maxRollaways" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of rollaway beds allowed in this room type.",
            "example" : 0,
            "minimum" : 0
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Minimum number of guests allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "minRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate in a distressed period"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_SupplierDetails"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "nonSmoking" : {
            "type" : "boolean",
            "description" : "Non-smoking indicator",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Defines the number of rooms of this type",
            "example" : 40,
            "minimum" : 1
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_SupplierDetails"
            }
          },
          "roomArchitectureCode" : {
            "type" : "string",
            "description" : "OpenTravel architectural style code (e.g., 1=Modern, 2=Traditional, 3=Victorian). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomCategory" : {
            "type" : "string",
            "description" : "OpenTravel segment category code (e.g., 1=Moderate, 4=Standard, 8=Deluxe). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomClassificationCode" : {
            "type" : "string",
            "description" : "OpenTravel guest room info code (e.g., 1=Suite, 2=Standard, 12=Villa, 16=Bungalow). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomGender" : {
            "type" : "string",
            "default" : "Unknown",
            "description" : "Used to request or specify a gender assignment for a room. Note: Typically used by Hosteliers.",
            "enum" : [ "Male", "Female", "MaleAndFemale", "Unknown" ],
            "example" : "Female"
          },
          "roomLocationCode" : {
            "type" : "string",
            "description" : "OpenTravel room location type code (e.g., 1=Near Exit, 2=Close to Elevator, 3=Low Floor, 4=High Floor). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomViewCode" : {
            "type" : "string",
            "description" : "OpenTravel room view type code (e.g., 1=Ocean View, 2=Pool View, 3=Garden View). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "sharedRoomInd" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If TRUE, the room requires or has sharing available. Note: Typically used by Hosteliers.",
            "example" : false
          },
          "size" : {
            "type" : "number",
            "format" : "float",
            "description" : "Number of square meters that defines the size of this room type.",
            "example" : 55,
            "minimum" : 1
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_SupplierDetails"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_SupplierDetails"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "baseRate", "bathroomCount", "bedroomConfigurationList", "bookable", "commissionable", "composite", "compositeCount", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "includedAdultOccupancy", "includedChildOccupancy", "livingRoomCount", "location", "maxAdultOccupancy", "maxChildOccupancy", "maxCribs", "maxOccupancy", "maxRollaways", "minOccupancy", "minRate", "multimedias", "name", "nonSmoking", "pricePoint", "proximityCode", "quantity", "roomArchitectureCode", "roomCategory", "roomClassificationCode", "roomLocationCode", "roomViewCode", "sharedRoomInd", "size" ]
      },
      "InventoryLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight projection of a bookable inventory item, used by consumers outside the inventory module.",
        "example" : {
          "address" : {
            "city" : {
              "country" : {
                "continent" : "AS",
                "countryCode" : "TH",
                "geoNameId" : "1605651",
                "name" : "Thailand"
              },
              "geoNameId" : "1609350",
              "name" : "Bangkok"
            },
            "countryCode" : "TH",
            "line1" : "9 Thanon Krung Thonburi",
            "postalCode" : "10600",
            "state" : "Bangkok"
          },
          "bookable" : true,
          "commissionable" : true,
          "createdDate" : "2026-01-14T09:30:00",
          "enabled" : true,
          "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "image" : {
            "descriptions" : [ {
              "description" : "Spacious deluxe room with panoramic city views",
              "language" : "en",
              "title" : "Deluxe City View Room"
            } ],
            "identifier" : "the-siam-residences/deluxe-room-city-view",
            "isLandscape" : true,
            "multimediaIdentifier" : "2b4d6f8a-0c2e-4a6b-8d0f-2c4e6a8b0d2f",
            "published" : true,
            "sort" : 10,
            "type" : "IMAGE"
          },
          "inventoryIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
          "inventoryName" : "Deluxe Room with City View",
          "inventoryNameInEnglish" : "Deluxe City View Room",
          "inventoryType" : "GUEST_ROOM",
          "lastUpdate" : "2026-03-10T14:15:00",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "Point"
          },
          "lowestDisplayPrice" : {
            "amount" : 125.0,
            "currency" : "USD"
          },
          "lowestPrice" : {
            "amount" : 4500.0,
            "currency" : "THB"
          },
          "pricePoint" : "THREE",
          "quantity" : 50,
          "salesChannel" : {
            "channelDisabled" : false,
            "enabled" : true,
            "identifier" : "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52",
            "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "ownerName" : "The Siam Residences",
            "subType" : "DIRECT",
            "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "supplierName" : "The Siam Residences, Bangkok"
          }
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_SupplierDetails",
            "description" : "Defaults to property address."
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether inventory can be booked",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether this is commissionable or not",
            "example" : true
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this inventory is enabled or not",
            "example" : true
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "image" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_SupplierDetails",
            "description" : "Main image of inventory"
          },
          "inventoryIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Inventory type identifier",
            "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
            "minLength" : 1
          },
          "inventoryName" : {
            "type" : "string",
            "description" : "Name of inventory as hotel is seeing it",
            "example" : "Deluxe Room with City View",
            "minLength" : 1
          },
          "inventoryNameInEnglish" : {
            "type" : "string",
            "description" : "Name of inventory as traveler is seeing it",
            "example" : "Deluxe City View Room",
            "minLength" : 1
          },
          "inventoryType" : {
            "type" : "string",
            "description" : "Inventory type",
            "enum" : [ "GUEST_ROOM", "ADD_ON", "MEETING_ROOM", "RESTAURANT", "SPA", "ATTRACTION", "PLACE", "ACTIVITY" ],
            "example" : "GUEST_ROOM"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_SupplierDetails",
            "description" : "Location",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "lowestDisplayPrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Best price of the room type or facility ancillary in platform currency"
          },
          "lowestPrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Best price of the room type or facility ancillary"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "quantity",
            "example" : 100
          },
          "salesChannel" : {
            "$ref" : "#/components/schemas/SalesChannelLightweight_SupplierDetails",
            "description" : "Parent sales channel"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "address", "bookable", "commissionable", "enabled", "image", "inventoryIdentifier", "inventoryName", "inventoryNameInEnglish", "inventoryType", "location", "pricePoint", "quantity", "salesChannel" ]
      },
      "LengthOfStayRateQualifier_SupplierDetails" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to stays within a specified minimum and maximum length of stay (in nights).",
        "example" : {
          "maxLOS" : 30,
          "minLOS" : 3
        },
        "properties" : {
          "maxLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of nights. Set to 0 for no maximum.",
            "example" : 30,
            "minimum" : 0
          },
          "minLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of nights for promotion to apply. Set to 0 for no minimum.",
            "example" : 3,
            "minimum" : 0
          }
        },
        "required" : [ "maxLOS", "minLOS" ]
      },
      "LocalizedDescription_SupplierDetails" : {
        "type" : "object",
        "description" : "Simplified localized description containing text content and its language code.",
        "example" : {
          "creator" : "USER",
          "description" : "This is a longer description in the specified language.",
          "language" : "en",
          "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
        },
        "properties" : {
          "creator" : {
            "type" : "string",
            "default" : "USER",
            "description" : "Whether it was user or system generated.",
            "enum" : [ "SYSTEM", "USER" ],
            "example" : "SYSTEM"
          },
          "description" : {
            "type" : "string",
            "description" : "Longer text description",
            "example" : "This is a longer description in the specified language.",
            "maxLength" : 2147483647,
            "minLength" : 1
          },
          "hashMismatch" : {
            "type" : "boolean",
            "readOnly" : true
          },
          "language" : {
            "type" : "string",
            "default" : "en",
            "description" : "Indicate which language this description is written in.",
            "example" : "en",
            "maxLength" : 2,
            "minLength" : 2,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "md5ContentHash" : {
            "type" : "string",
            "description" : "The md5 hash of the name, description and language.",
            "example" : "d41d8cd98f00b204e9800998ecf8427e"
          }
        },
        "required" : [ "description", "language" ]
      },
      "LocalizedPrice_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "internalBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "internalChannelModifier" : -10,
          "internalPremiumModifier" : 40,
          "internalPromotionalModifier" : -40,
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "quantity" : 1,
          "sourceBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "sourceChannelModifier" : -10,
          "sourcePremiumModifier" : 40,
          "sourcePromotionalModifier" : -40,
          "sourceToInternalCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceToUserCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyChannelModifier" : -10,
          "userSpecifiedCurrencyPremiumModifier" : 40,
          "userSpecifiedCurrencyPromotionalModifier" : -40,
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "channelDiscountPercent" : {
            "type" : "number",
            "description" : "Channel discount percent"
          },
          "hasChannelDiscount" : {
            "type" : "boolean"
          },
          "hasPremium" : {
            "type" : "boolean"
          },
          "hasPromotion" : {
            "type" : "boolean"
          },
          "internalBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base total in wink currency."
          },
          "internalChannelModifier" : {
            "type" : "number",
            "description" : "Channel / Membership modifier in wink currency",
            "example" : -10
          },
          "internalPremiumModifier" : {
            "type" : "number",
            "description" : "Premium modifiers in wink currency",
            "example" : 40
          },
          "internalPromotionalModifier" : {
            "type" : "number",
            "description" : "Promotional modifiers in wink currency",
            "example" : -40
          },
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "premiumPercent" : {
            "type" : "number",
            "description" : "Premium percent"
          },
          "promotionalDiscountPercent" : {
            "type" : "number",
            "description" : "Promotional discount percent"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 1,
            "description" : "How many of this item is included in this price"
          },
          "sourceBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base total in hotel currency."
          },
          "sourceChannelModifier" : {
            "type" : "number",
            "description" : "Channel / Membership modifier in hotel currency",
            "example" : -10
          },
          "sourcePremiumModifier" : {
            "type" : "number",
            "description" : "Premium modifiers in hotel currency",
            "example" : 40
          },
          "sourcePromotionalModifier" : {
            "type" : "number",
            "description" : "Promotional modifiers in hotel currency",
            "example" : -40
          },
          "sourceToInternalCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails",
            "description" : "Hotel to wink currency exchange rate."
          },
          "sourceToUserCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails",
            "description" : "Hotel to user currency exchange rate."
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalDiscountPercent" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base total in user specified currency."
          },
          "userSpecifiedCurrencyChannelModifier" : {
            "type" : "number",
            "description" : "Channel / Membership modifier in user specified currency",
            "example" : -10
          },
          "userSpecifiedCurrencyPremiumModifier" : {
            "type" : "number",
            "description" : "Premium modifiers in user specified currency",
            "example" : 40
          },
          "userSpecifiedCurrencyPromotionalModifier" : {
            "type" : "number",
            "description" : "Promotional modifiers in user specified currency",
            "example" : -40
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          }
        },
        "required" : [ "internalBaseTotal", "sourceBaseTotal", "sourceToInternalCurrencyQuote", "sourceToUserCurrencyQuote", "userSpecifiedCurrencyBaseTotal" ]
      },
      "LocalizedTransactionalTravelInventory_SupplierDetails" : {
        "type" : "object",
        "description" : "This is one localized bookable item that can stand alongside a restaurant / meeting room etc.",
        "example" : {
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "identifier" : "travel-blocking-1",
          "maxPax" : 10,
          "minPax" : 2,
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "1 hour session",
          "offerDetails" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "price" : {
            "internalBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalChannelModifier" : -10,
            "internalPremiumModifier" : 40,
            "internalPromotionalModifier" : -40,
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "quantity" : 1,
            "sourceBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceChannelModifier" : -10,
            "sourcePremiumModifier" : 40,
            "sourcePromotionalModifier" : -40,
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyChannelModifier" : -10,
            "userSpecifiedCurrencyPremiumModifier" : 40,
            "userSpecifiedCurrencyPromotionalModifier" : -40,
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          }
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_SupplierDetails"
            },
            "maxItems" : 2147483647,
            "minItems" : 1
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique transactional identifier",
            "example" : "travel-blocking-1",
            "minLength" : 1
          },
          "maxPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Whether there is a limit to maximum group size.",
            "example" : 10,
            "minimum" : 0
          },
          "minPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Whether there is a limit to minimum group size.",
            "example" : 2,
            "minimum" : 0
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of item.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_SupplierDetails"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of transactional blocking.",
            "example" : "1 hour session",
            "minLength" : 1
          },
          "offerDetails" : {
            "type" : "array",
            "description" : "Localized offer details if rate plan discount applies.",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_SupplierDetails"
            }
          },
          "price" : {
            "$ref" : "#/components/schemas/LocalizedPrice_SupplierDetails",
            "description" : "Localized price"
          },
          "pricingType" : {
            "type" : "string",
            "description" : "How this inventory item should be priced.",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ]
          },
          "promotion" : {
            "type" : "string",
            "description" : "If a package is linked to a rate plan the user could be entitled to a promotional discount if she enters a code. When this field is populated, it means the discount was applied to the package."
          }
        },
        "required" : [ "descriptions", "identifier", "multimedias", "name", "price", "pricingType" ]
      },
      "MasterRateLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight projection of a master rate, used by consumers outside the master-rate module.",
        "example" : {
          "enabled" : true,
          "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "name" : "Premium King - Best Available Rate",
          "perkTypes" : [ {
            "guaranteed" : true,
            "id" : "PERK_GUARANTEED_UPGRADE",
            "level" : 3
          } ],
          "ratePlan" : {
            "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
            "name" : "Best Available Rate"
          },
          "roomType" : {
            "identifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
            "name" : "Premium King Room"
          }
        },
        "properties" : {
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this master rate is enabled for sale across all sales channels",
            "example" : true
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property (managing entity) identifier that owns this master rate.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of master rate. Auto-generated by combining room type and rate plan names.",
            "example" : "Premium King - Best Available Rate",
            "minLength" : 1
          },
          "perkTypes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PerkLightweight_SupplierDetails",
              "description" : "Perks (incentives) offered with this master rate to encourage bookings",
              "example" : "PERK_WINE"
            }
          },
          "ratePlan" : {
            "$ref" : "#/components/schemas/RatePlanLightweight_SupplierDetails",
            "description" : "Rate plan details for this master rate"
          },
          "roomType" : {
            "$ref" : "#/components/schemas/RoomTypeLightweight_SupplierDetails",
            "description" : "Room type details for this master rate"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "enabled", "hotelIdentifier", "name", "ratePlan", "roomType" ]
      },
      "MediaAuthorAttribution_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "name" : "Samuel Adams",
          "url" : "https://maps.google.com/maps/contrib/111628493169070103594"
        },
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of contributor",
            "example" : "Samuel Adams",
            "minLength" : 1
          },
          "url" : {
            "type" : "string",
            "format" : "uri",
            "description" : "URL to contributor",
            "example" : "https://maps.google.com/maps/contrib/111628493169070103594"
          }
        },
        "required" : [ "name" ]
      },
      "MinutesBeforeBookingStartDateRateQualifier_SupplierDetails" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to last-minute bookings made within a specified number of seconds before the stay start date.",
        "example" : {
          "seconds" : 1440
        },
        "properties" : {
          "seconds" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Number of seconds before the arrival date when the promotion becomes active (last-minute bookings).",
            "example" : 1440,
            "minimum" : 0
          }
        },
        "required" : [ "seconds" ]
      },
      "PendingRefund_SupplierDetails" : {
        "type" : "object",
        "description" : "A pending refund allocated to a specific beneficiary, awaiting settlement. Once processed, amounts move from pendingRefunds into the parent Beneficiary's *RefundModifier fields.",
        "example" : {
          "displayAmountRefundModifier" : 45.0,
          "internalAmountRefundModifier" : 45.0,
          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
          "sourceAmountRefundModifier" : 45.0
        },
        "properties" : {
          "displayAmountRefundModifier" : {
            "type" : "number",
            "description" : "Refund amount to be deducted from the beneficiary's displayAmount when applied",
            "example" : 45.0,
            "minimum" : 0
          },
          "internalAmountRefundModifier" : {
            "type" : "number",
            "description" : "Refund amount to be deducted from the beneficiary's internalAmount when applied",
            "example" : 45.0,
            "minimum" : 0
          },
          "refundIdentifier" : {
            "type" : "string",
            "description" : "Unique identifier linking this pending refund to the parent booking's refund record",
            "example" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
            "minLength" : 1
          },
          "sourceAmountRefundModifier" : {
            "type" : "number",
            "description" : "Refund amount to be deducted from the beneficiary's sourceAmount when applied",
            "example" : 45.0,
            "minimum" : 0
          }
        },
        "required" : [ "displayAmountRefundModifier", "internalAmountRefundModifier", "refundIdentifier", "sourceAmountRefundModifier" ]
      },
      "PerkLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight projection of a platform perk for use in public-facing APIs, search results, and rate configuration, omitting internal admin fields.",
        "example" : {
          "descriptions" : [ {
            "description" : "Guaranteed upgrade to the next available room category at check-in",
            "language" : "en",
            "name" : "Guaranteed Room Upgrade"
          } ],
          "guaranteed" : true,
          "id" : "PERK_GUARANTEED_UPGRADE",
          "level" : 3,
          "sort" : 5
        },
        "properties" : {
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions of this perk in multiple languages. Each element provides a name, description, and language code (e.g., 'en', 'fr', 'de').",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_SupplierDetails"
            },
            "minItems" : 1
          },
          "guaranteed" : {
            "type" : "boolean",
            "description" : "Whether this perk is guaranteed to be provided or available on a best-effort basis. Guaranteed perks take priority in allocation.",
            "example" : true
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "level" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Platform tier/value assigned to this perk (0=standard, higher=premium). Used for internal prioritization and matching with rate tiers.",
            "example" : 3
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Display order when showing this perk in a list (ascending sort). Lower numbers appear first; 999 is reserved for disabled/unlisted perks.",
            "example" : 5
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "descriptions", "guaranteed", "level", "sort" ]
      },
      "PrepayRateQualifier_SupplierDetails" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to either prepaid or pay-at-property rates.",
        "example" : {
          "prepay" : true
        },
        "properties" : {
          "prepay" : {
            "type" : "boolean",
            "description" : "true to apply only to prepaid rates, false to apply only to pay-at-property rates.",
            "example" : true
          }
        },
        "required" : [ "prepay" ]
      },
      "QuoteLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight representation of an exchange rate quote between a source and target currency pair",
        "example" : {
          "exchangeRate" : 33.5,
          "source" : "USD",
          "target" : "THB",
          "timestamp" : 1705233000000
        },
        "properties" : {
          "exchangeRate" : {
            "type" : "number",
            "description" : "Exchange rate from source to target currency",
            "example" : 33.5
          },
          "source" : {
            "type" : "string",
            "description" : "ISO 4217 source currency code",
            "example" : "USD",
            "minLength" : 1
          },
          "target" : {
            "type" : "string",
            "description" : "ISO 4217 target currency code",
            "example" : "THB",
            "minLength" : 1
          },
          "timestamp" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unix epoch milliseconds when the quote was recorded",
            "example" : 1705233000000
          }
        },
        "required" : [ "exchangeRate", "source", "target", "timestamp" ]
      },
      "RatePlanLevelFee_SupplierDetails" : {
        "type" : "object",
        "description" : "An additional fee attached to a rate plan, such as a resort facility fee, cleaning fee, or parking fee. The fee amount and how it is charged (per day, per stay, per person, etc.) are defined per fee entry.",
        "example" : {
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "fixedAmount" : 450.0,
          "type" : "PER_DAY"
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions of this fee in multiple languages. At least one entry in English is required.",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_SupplierDetails"
            },
            "minItems" : 1
          },
          "fixedAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "The fixed fee amount in the property's local currency.",
            "example" : 450.0
          },
          "type" : {
            "type" : "string",
            "description" : "How this fee is charged: per day, per stay, per person per day, or per person per stay.",
            "enum" : [ "PER_DAY", "PER_STAY", "PER_PERSON_PER_DAY", "PER_PERSON_PER_STAY" ],
            "example" : "PER_DAY"
          }
        },
        "required" : [ "descriptions", "fixedAmount", "type" ]
      },
      "RatePlanLightweight_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "allInclusive" : false,
          "allInclusivePlusAlcohol" : false,
          "arrivalDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "availableDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "breakfast" : false,
          "brunch" : false,
          "cancellationPolicy" : {
            "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
            "createdDate" : "2026-01-14T09:30:00",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
            "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
            "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
            "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
            "refundable" : false,
            "refundableCancellationCharge" : "FIFTY_PERCENT",
            "version" : 3
          },
          "cancellationPolicyExceptions" : {
            "list" : [ {
              "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "endDate" : "2026-12-31",
              "startDate" : "2026-01-14"
            } ]
          },
          "createdDate" : "2026-01-14T09:30:00",
          "departureDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "dinner" : false,
          "earlyCheckInCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "enabled" : false,
          "extraChildRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "extraPaxRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lateCheckOutCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "loyaltyPointsAccrue" : false,
          "lunch" : false,
          "maxAdvanceBookingOffset" : 180,
          "maxAge" : 65,
          "maxLOS" : 30,
          "maxTotalOccupancy" : 4,
          "minAdvanceBookingOffset" : 3,
          "minAge" : 18,
          "minLOS" : 1,
          "minTotalOccupancy" : 1,
          "name" : "Best Available Rate",
          "prepaid" : false,
          "ratePlanLevelFees" : [ {
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "fixedAmount" : 450.0,
            "type" : "PER_DAY"
          } ],
          "requiredDaysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "sellEndDate" : "2026-12-31",
          "sellStartDate" : "2026-01-15",
          "singleOccupancyRateModifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "stayEndDate" : "2026-12-31",
          "stayStartDate" : "2026-01-15",
          "version" : 3
        },
        "properties" : {
          "allInclusive" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included except alcohol",
            "example" : false
          },
          "allInclusivePlusAlcohol" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included with alcohol",
            "example" : false
          },
          "arrivalDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_SupplierDetails",
            "description" : "Days of the week on which guests are allowed to check in. If null, arrivals are permitted on any day."
          },
          "availableDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_SupplierDetails",
            "description" : "Days of the week when this rate plan is available for booking. If null, the rate plan is available on all days."
          },
          "breakfast" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates breakfast is included.",
            "example" : false
          },
          "brunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates brunch is included.",
            "example" : false
          },
          "cancellationPolicy" : {
            "$ref" : "#/components/schemas/CancellationPolicyLightweight_SupplierDetails",
            "description" : "The cancellation policy that governs refunds and cancellations for this rate plan."
          },
          "cancellationPolicyExceptions" : {
            "$ref" : "#/components/schemas/CancellationPolicyExceptions_SupplierDetails",
            "description" : "Optional overrides of the cancellation policy for specific date ranges. Allows a property to apply different cancellation terms during peak seasons, events, or special periods. Leave null for no date-specific exceptions."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "departureDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_SupplierDetails",
            "description" : "Days of the week on which guests are allowed to check out. If null, departures are permitted on any day."
          },
          "dinner" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates dinner is included.",
            "example" : false
          },
          "earlyCheckInCharge" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails",
            "description" : "A pricing modifier for guests checking in early. May include a surcharge or credit. If null, no early check-in charge applies."
          },
          "enabled" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether rate plan is active or not.",
            "example" : false
          },
          "extraChildRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails",
            "description" : "A pricing modifier applied for each additional child guest. Typically used for child discounts or family rate adjustments. If null, no extra child adjustment applies."
          },
          "extraPaxRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails",
            "description" : "A pricing modifier applied for each additional adult guest beyond the base occupancy. For example, a per-person surcharge for extra occupants. If null, no extra adult adjustment applies."
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The property (managing entity) that owns this rate plan.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lateCheckOutCharge" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails",
            "description" : "A pricing modifier for guests staying late after standard checkout time. May include a surcharge or credit. If null, no late check-out charge applies."
          },
          "loyaltyPointsAccrue" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, guests earn loyalty points toward the property's loyalty program with this rate plan. When false, this rate plan does not accrue points.",
            "example" : false
          },
          "lunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates lunch is included.",
            "example" : false
          },
          "maxAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of days in advance a guest may book this rate plan. For example, 180 allows bookings up to 6 months ahead.",
            "example" : 180
          },
          "maxAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum guest age allowed for this rate plan, typically used for family or age-restricted rates.",
            "example" : 65
          },
          "maxLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum consecutive nights allowed for a booking under this rate plan. For example, 30 caps bookings at 30 nights.",
            "example" : 30
          },
          "maxTotalOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of guests allowed under this rate plan.",
            "example" : 4
          },
          "minAdvanceBookingOffset" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of days in advance a guest must book this rate plan. For example, 3 requires booking at least 3 days before arrival.",
            "example" : 3
          },
          "minAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum guest age required to book this rate plan, typically used for senior discounts or adult-only rates.",
            "example" : 18
          },
          "minLOS" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum consecutive nights required for a booking under this rate plan. For example, 2 requires a minimum 2-night stay.",
            "example" : 1
          },
          "minTotalOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of guests required to qualify for this rate plan.",
            "example" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "A descriptive name for this rate plan, such as 'Best Available Rate', 'Non-Refundable', or 'Corporate Rate'.",
            "example" : "Best Available Rate",
            "minLength" : 1
          },
          "prepaid" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates if the rate is a prepaid rate.",
            "example" : false
          },
          "ratePlanLevelFees" : {
            "type" : "array",
            "description" : "Additional fees applied to this rate plan, such as resort facilities fees, parking fees, or cleaning charges. Fees can be charged per day, per stay, per person, or combinations thereof.",
            "items" : {
              "$ref" : "#/components/schemas/RatePlanLevelFee_SupplierDetails"
            }
          },
          "requiredDaysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_SupplierDetails",
            "description" : "Days of the week on which at least one night must fall within the stay. Useful for rates requiring weekend stays or specific weekday requirements. If null, no specific day-of-week stay requirements apply."
          },
          "sellEndDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date on which this rate plan is no longer available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range.",
            "example" : "2026-12-31"
          },
          "sellStartDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date on which this rate plan becomes available for booking. If both sellStartDate and sellEndDate are set, the rate can only be sold within that date range.",
            "example" : "2026-01-15"
          },
          "singleOccupancyRateModifier" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails",
            "description" : "A pricing modifier applied when a single guest books this rate plan. For example, a 10% discount for solo travelers. If null, no single occupancy adjustment applies."
          },
          "stayEndDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The latest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range.",
            "example" : "2026-12-31"
          },
          "stayStartDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The earliest date a guest can check in to use this rate plan. If both stayStartDate and stayEndDate are set, the rate can only be used for stays within that date range.",
            "example" : "2026-01-15"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "allInclusive", "allInclusivePlusAlcohol", "breakfast", "brunch", "dinner", "enabled", "hotelIdentifier", "id", "lunch", "name", "prepaid" ]
      },
      "RefundableRateQualifier_SupplierDetails" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to either refundable or non-refundable rates.",
        "example" : {
          "refundable" : true
        },
        "properties" : {
          "refundable" : {
            "type" : "boolean",
            "description" : "true to apply only to refundable rates, false to apply only to non-refundable rates.",
            "example" : true
          }
        },
        "required" : [ "refundable" ]
      },
      "RequiredDaysOfWeekRateQualifier_SupplierDetails" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to stays that include specific required days of the week.",
        "example" : {
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          }
        },
        "properties" : {
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_SupplierDetails",
            "description" : "The days of the week the user has to stay on to get this rate"
          }
        },
        "required" : [ "daysOfWeek" ]
      },
      "RoomConfigurationPriceRatePlan_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "allInclusive" : false,
          "allInclusivePlusAlcohol" : false,
          "breakfast" : false,
          "brunch" : false,
          "dinner" : false,
          "earlyCheckInCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "lateCheckOutCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "lunch" : false,
          "name" : "BAR 1"
        },
        "properties" : {
          "allInclusive" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included except alcohol",
            "example" : false
          },
          "allInclusivePlusAlcohol" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included with alcohol",
            "example" : false
          },
          "breakfast" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates breakfast is included.",
            "example" : false
          },
          "brunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates brunch is included.",
            "example" : false
          },
          "dinner" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates dinner is included.",
            "example" : false
          },
          "earlyCheckInCharge" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Rate plan identifier",
            "minLength" : 1
          },
          "lateCheckOutCharge" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails"
          },
          "lunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates lunch is included.",
            "example" : false
          },
          "name" : {
            "type" : "string",
            "description" : "Provides the name of the rate plan.",
            "example" : "BAR 1",
            "minLength" : 1
          }
        },
        "required" : [ "allInclusive", "allInclusivePlusAlcohol", "breakfast", "brunch", "dinner", "identifier", "lunch", "name" ]
      },
      "RoomConfigurationPrice_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "activeCancellationPolicy" : {
            "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
            "createdDate" : "2026-01-14T09:30:00",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
            "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
            "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
            "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
            "refundable" : false,
            "refundableCancellationCharge" : "FIFTY_PERCENT",
            "version" : 3
          },
          "addOnOffers" : [ {
            "addOn" : {
              "active" : true,
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "applicableEnd" : "1970-12-1",
              "applicableStart" : "1970-1-1",
              "bookable" : true,
              "closes" : "17:30",
              "commissionable" : true,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "createdDate" : "2026-01-14T09:30:00",
              "dateRanges" : [ {
                "endDate" : "2020-12-31",
                "startDate" : "2020-12-24"
              } ],
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              },
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "featuredInd" : false,
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
              "location" : {
                "coordinates" : [ 100.5581533, 13.7370197 ],
                "type" : "POINT"
              },
              "mandatory" : true,
              "minAgeAppropriateCode" : "1",
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "Archery lesson",
              "numberOfUnits" : 15,
              "opens" : "09:00",
              "pricePoint" : "THREE",
              "proximityCode" : "1",
              "publishStatus" : "PUBLISHED",
              "ratePlan" : {
                "allInclusive" : false,
                "allInclusivePlusAlcohol" : false,
                "arrivalDaysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                },
                "availableDaysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                },
                "breakfast" : false,
                "brunch" : false,
                "cancellationPolicy" : {
                  "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                  "createdDate" : "2026-01-14T09:30:00",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                  "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                  "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                  "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                  "refundable" : false,
                  "refundableCancellationCharge" : "FIFTY_PERCENT",
                  "version" : 3
                },
                "cancellationPolicyExceptions" : {
                  "list" : [ {
                    "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "endDate" : "2026-12-31",
                    "startDate" : "2026-01-14"
                  } ]
                },
                "createdDate" : "2026-01-14T09:30:00",
                "departureDaysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                },
                "dinner" : false,
                "earlyCheckInCharge" : {
                  "fixedAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "percent" : 0.25,
                  "type" : "PERCENTAGE"
                },
                "enabled" : false,
                "extraChildRateModifier" : {
                  "fixedAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "percent" : 0.25,
                  "type" : "PERCENTAGE"
                },
                "extraPaxRateModifier" : {
                  "fixedAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "percent" : 0.25,
                  "type" : "PERCENTAGE"
                },
                "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "lastUpdate" : "2026-02-03T16:45:12",
                "lateCheckOutCharge" : {
                  "fixedAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "percent" : 0.25,
                  "type" : "PERCENTAGE"
                },
                "loyaltyPointsAccrue" : false,
                "lunch" : false,
                "maxAdvanceBookingOffset" : 180,
                "maxAge" : 65,
                "maxLOS" : 30,
                "maxTotalOccupancy" : 4,
                "minAdvanceBookingOffset" : 3,
                "minAge" : 18,
                "minLOS" : 1,
                "minTotalOccupancy" : 1,
                "name" : "Best Available Rate",
                "prepaid" : false,
                "ratePlanLevelFees" : [ {
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "fixedAmount" : 450.0,
                  "type" : "PER_DAY"
                } ],
                "requiredDaysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                },
                "sellEndDate" : "2026-12-31",
                "sellStartDate" : "2026-01-15",
                "singleOccupancyRateModifier" : {
                  "fixedAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "percent" : 0.25,
                  "type" : "PERCENTAGE"
                },
                "stayEndDate" : "2026-12-31",
                "stayStartDate" : "2026-01-15",
                "version" : 3
              },
              "recognitionList" : [ {
                "category" : "AWARD",
                "date" : "2026-01-14",
                "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "maxRating" : 10.0,
                "officialAppointmentInd" : true,
                "provider" : "Michelin",
                "rating" : 8.5,
                "ratingSymbol" : "*",
                "type" : "PERCENT_RATING"
              } ],
              "reservationRequiredInd" : false,
              "socials" : [ {
                "location" : "https://www.instagram.com/thesiamresidences",
                "type" : "INSTAGRAM"
              } ],
              "sort" : 1,
              "transactionalInventoryList" : [ {
                "basePrice" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                } ],
                "discountedPrice" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "maxPax" : 10,
                "minPax" : 2,
                "multimedias" : [ {
                  "angle" : null,
                  "attribution" : [ ],
                  "category" : "2",
                  "descriptions" : [ {
                    "description" : "Elegant lobby of The Siam Residences",
                    "language" : "en",
                    "title" : "Lobby Entrance"
                  } ],
                  "height" : 1600,
                  "identifier" : "the-siam-residences/lobby-entrance",
                  "isLandscape" : true,
                  "lifestyleType" : null,
                  "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "published" : true,
                  "sort" : 10,
                  "source" : "CLOUDINARY",
                  "type" : "IMAGE",
                  "width" : 2560
                } ],
                "name" : "1 hour session",
                "percentDiscount" : 0.1,
                "percentPremium" : 0.1,
                "pricingType" : "PER_NIGHT"
              } ],
              "version" : 3
            },
            "commission" : 0.1,
            "direct" : true,
            "priceList" : [ {
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "identifier" : "travel-blocking-1",
              "maxPax" : 10,
              "minPax" : 2,
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "1 hour session",
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              }
            } ]
          } ],
          "commission" : 0.1,
          "configuration" : {
            "adults" : 2,
            "children" : [ {
              "age" : 7,
              "quantity" : 2
            } ],
            "quantity" : 2
          },
          "direct" : true,
          "extraCharges" : {
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "items" : [ {
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "ratePlanLevelFee" : {
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "fixedAmount" : 450.0,
                "type" : "PER_DAY"
              },
              "unitPrice" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              }
            } ],
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "list" : [ {
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "identifier" : "travel-blocking-1",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "offerDetails" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            }
          } ],
          "perkTypes" : [ {
            "descriptions" : [ {
              "description" : "Guaranteed upgrade to the next available room category at check-in",
              "language" : "en",
              "name" : "Guaranteed Room Upgrade"
            } ],
            "guaranteed" : true,
            "id" : "PERK_GUARANTEED_UPGRADE",
            "level" : 3,
            "sort" : 5
          } ],
          "price" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "internalAveragePricePerNight" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalChannelModifier" : -10,
            "internalExtraChildModifier" : 15,
            "internalExtraPaxModifier" : 15,
            "internalPremiumModifier" : 40,
            "internalPromotionalModifier" : -40,
            "internalSingleOccupantModifier" : -15,
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "list" : [ {
              "baseRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "includedAdultOccupancy" : 2,
              "includedChildOccupancy" : 0,
              "internalBaseRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "maxAdultOccupancy" : 1,
              "maxChildOccupancy" : 0,
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "rate" : {
                "closedOnArrival" : false,
                "closedOnDeparture" : false,
                "date" : "2020-8-24",
                "extraChildRateModifier" : {
                  "fixedAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "percent" : 0.25,
                  "type" : "PERCENTAGE"
                },
                "extraPaxRateModifier" : {
                  "fixedAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "percent" : 0.25,
                  "type" : "PERCENTAGE"
                },
                "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                "master" : true,
                "maxLengthOfStay" : 8,
                "maxOccupancy" : 2,
                "minLengthOfStay" : 4,
                "minOccupancy" : 1,
                "quantity" : 9,
                "rate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "ratePlanIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                "rateSource" : "NONE",
                "singleOccupancyRateModifier" : {
                  "fixedAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "percent" : 0.25,
                  "type" : "PERCENTAGE"
                }
              },
              "sourceBaseRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            } ],
            "offerDetails" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "sourceAveragePricePerNight" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceChannelModifier" : -10,
            "sourceExtraChildModifier" : 15,
            "sourceExtraPaxModifier" : 15,
            "sourcePremiumModifier" : 40,
            "sourcePromotionalModifier" : -40,
            "sourceSingleOccupantModifier" : -15,
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyAveragePricePerNight" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyChannelModifier" : -10,
            "userSpecifiedCurrencyExtraChildModifier" : 15,
            "userSpecifiedCurrencyExtraPaxModifier" : 15,
            "userSpecifiedCurrencyPremiumModifier" : 40,
            "userSpecifiedCurrencyPromotionalModifier" : -40,
            "userSpecifiedCurrencySingleOccupantModifier" : -15,
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "priceList" : [ {
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "identifier" : "travel-blocking-1",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "offerDetails" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            }
          } ],
          "ratePlan" : {
            "allInclusive" : false,
            "allInclusivePlusAlcohol" : false,
            "breakfast" : false,
            "brunch" : false,
            "dinner" : false,
            "earlyCheckInCharge" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "lateCheckOutCharge" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "lunch" : false,
            "name" : "BAR 1"
          },
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "activeCancellationPolicy" : {
            "$ref" : "#/components/schemas/CancellationPolicyLightweight_SupplierDetails",
            "description" : "The active / selected cancellation policy for this room configuration"
          },
          "addOnOffers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AddOnLocalizedInventory_SupplierDetails",
              "description" : "Add-ons that are available with this room configuration"
            }
          },
          "adults" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The actual amount of adults as determined by the hotel's policy"
          },
          "available" : {
            "type" : "boolean"
          },
          "channelInventoryIdentifier" : {
            "type" : "string",
            "description" : "Sales channel inventory identifier"
          },
          "children" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The actual amount of children as determined by the hotel's policy"
          },
          "commission" : {
            "type" : "number",
            "format" : "float",
            "description" : "The commission percentage.",
            "example" : 0.1
          },
          "commissionable" : {
            "type" : "boolean",
            "description" : "Whether this package is commissionable based on the incoming sales channel."
          },
          "configuration" : {
            "$ref" : "#/components/schemas/RoomConfiguration_SupplierDetails",
            "description" : "The selected room configuration that created this record"
          },
          "direct" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates whether the blocking from sales channel is direct or not. If you are a travel agent doing your own acquiring, this flag has to be true to make a booking.",
            "example" : true
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "SimpleDateTimeItinerary endDate"
          },
          "extraCharges" : {
            "$ref" : "#/components/schemas/ExtraCharges_SupplierDetails",
            "description" : "Per rate plan level extra charges with localized prices"
          },
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "list" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedTransactionalTravelInventory_SupplierDetails"
            },
            "writeOnly" : true
          },
          "perkTypes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PerkLightweight_SupplierDetails",
              "description" : "Perks that accompany the master rate"
            }
          },
          "perkValue" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The combined value of these perkTypes"
          },
          "price" : {
            "$ref" : "#/components/schemas/StayRate_SupplierDetails",
            "description" : "Calculated price"
          },
          "priceList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedTransactionalTravelInventory_SupplierDetails",
              "description" : "Localized transactional blocking"
            }
          },
          "ratePlan" : {
            "$ref" : "#/components/schemas/RoomConfigurationPriceRatePlan_SupplierDetails",
            "description" : "Specified rate plan"
          },
          "rateSource" : {
            "type" : "string"
          },
          "roomNights" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of nights the guests will be staying"
          },
          "roomRateIdentifier" : {
            "type" : "string",
            "description" : "Specified master rate identifier"
          },
          "roomRateInternalName" : {
            "type" : "string",
            "description" : "Specified master rate internal name"
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "SimpleDateTimeItinerary startDate"
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          }
        },
        "required" : [ "activeCancellationPolicy", "adults", "channelInventoryIdentifier", "commission", "commissionable", "configuration", "direct", "endDate", "price", "ratePlan", "roomNights", "roomRateIdentifier", "roomRateInternalName", "startDate" ]
      },
      "RoomRangeRateQualifier_SupplierDetails" : {
        "type" : "object",
        "description" : "Qualifier that restricts a promotion to bookings with a specified minimum and/or maximum number of rooms.",
        "example" : {
          "maxRooms" : 4,
          "minRooms" : 1
        },
        "properties" : {
          "maxRooms" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of rooms in the booking. Leave null or 0 for no upper limit.",
            "example" : 4
          },
          "minRooms" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum number of rooms in the booking for this promotion to apply.",
            "example" : 1,
            "minimum" : 1
          }
        },
        "required" : [ "minRooms" ]
      },
      "RoomTypeLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "A self-contained, denormalized projection of a room type used in search results, availability responses, and booking flows.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "baseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "bathroomCount" : 0,
          "bedroomConfigurationList" : [ {
            "bedroomList" : [ {
              "bedList" : [ {
                "bedTypeCode" : "1",
                "quantity" : 2
              } ],
              "type" : "MASTER"
            } ],
            "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "name" : "Master Suite Layout"
          } ],
          "bookable" : true,
          "commissionable" : true,
          "composite" : false,
          "compositeCount" : 2,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "floor" : "3",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "includedAdultOccupancy" : 2,
          "includedChildOccupancy" : 0,
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "livingRoomCount" : 0,
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "maxAdultOccupancy" : 1,
          "maxChildOccupancy" : 0,
          "maxCribs" : 1,
          "maxOccupancy" : 2,
          "maxRollaways" : 0,
          "minAgeAppropriateCode" : "1",
          "minOccupancy" : 1,
          "minRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "nonSmoking" : true,
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "quantity" : 40,
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "roomArchitectureCode" : "1",
          "roomCategory" : "1",
          "roomClassificationCode" : "1",
          "roomGender" : "Female",
          "roomLocationCode" : "1",
          "roomViewCode" : "1",
          "sharedRoomInd" : false,
          "size" : 55,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_SupplierDetails",
            "description" : "Defaults to property address."
          },
          "amenities" : {
            "type" : "array",
            "description" : "OpenTravel room amenity codes (e.g., 1=Balcony, 7=Air Conditioning). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "baseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate during regular remand period"
          },
          "bathroomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of bathrooms",
            "example" : 0,
            "minimum" : 0
          },
          "bedroomConfigurationList" : {
            "type" : "array",
            "description" : "A room type can have more than one bed configuration.",
            "items" : {
              "$ref" : "#/components/schemas/BedroomConfiguration_SupplierDetails"
            },
            "minItems" : 1
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "composite" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates that the room (suite) is a composite of smaller units.",
            "example" : false
          },
          "compositeCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of rooms of this room type that makes up a larger unit (composite) such as a two bedroom suite could be comprised of two king rooms plus other room types. A 0 means disabled.",
            "example" : 2,
            "minimum" : 0
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_SupplierDetails",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_SupplierDetails"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "floor" : {
            "type" : "string",
            "description" : "Floor number on which this room type is located.",
            "example" : "3"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "includedAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "The number of pax the room price was meant for",
            "example" : 2,
            "minimum" : 0
          },
          "includedChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of children the room price was meant for",
            "example" : 0,
            "minimum" : 0
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "livingRoomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of living rooms",
            "example" : 0,
            "minimum" : 0
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_SupplierDetails",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "maxAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of adults allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "maxChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of children allowed in a room type.",
            "example" : 0,
            "minimum" : 0
          },
          "maxCribs" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of cribs allowed in a room type.",
            "example" : 1,
            "minimum" : 0
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of guest allowed in a room type.",
            "example" : 2,
            "minimum" : 1
          },
          "maxRollaways" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of rollaway beds allowed in this room type.",
            "example" : 0,
            "minimum" : 0
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Minimum number of guests allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "minRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate in a distressed period"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_SupplierDetails"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "nonSmoking" : {
            "type" : "boolean",
            "description" : "Non-smoking indicator",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Defines the number of rooms of this type",
            "example" : 40,
            "minimum" : 1
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_SupplierDetails"
            }
          },
          "roomArchitectureCode" : {
            "type" : "string",
            "description" : "OpenTravel architectural style code (e.g., 1=Modern, 2=Traditional, 3=Victorian). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomCategory" : {
            "type" : "string",
            "description" : "OpenTravel segment category code (e.g., 1=Moderate, 4=Standard, 8=Deluxe). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomClassificationCode" : {
            "type" : "string",
            "description" : "OpenTravel guest room info code (e.g., 1=Suite, 2=Standard, 12=Villa, 16=Bungalow). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomGender" : {
            "type" : "string",
            "default" : "Unknown",
            "description" : "Used to request or specify a gender assignment for a room. Note: Typically used by Hosteliers.",
            "enum" : [ "Male", "Female", "MaleAndFemale", "Unknown" ],
            "example" : "Female"
          },
          "roomLocationCode" : {
            "type" : "string",
            "description" : "OpenTravel room location type code (e.g., 1=Near Exit, 2=Close to Elevator, 3=Low Floor, 4=High Floor). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomViewCode" : {
            "type" : "string",
            "description" : "OpenTravel room view type code (e.g., 1=Ocean View, 2=Pool View, 3=Garden View). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "sharedRoomInd" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If TRUE, the room requires or has sharing available. Note: Typically used by Hosteliers.",
            "example" : false
          },
          "size" : {
            "type" : "number",
            "format" : "float",
            "description" : "Number of square meters that defines the size of this room type.",
            "example" : 55,
            "minimum" : 1
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_SupplierDetails"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_SupplierDetails"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "baseRate", "bathroomCount", "bedroomConfigurationList", "bookable", "commissionable", "composite", "compositeCount", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "includedAdultOccupancy", "includedChildOccupancy", "livingRoomCount", "location", "maxAdultOccupancy", "maxChildOccupancy", "maxCribs", "maxOccupancy", "maxRollaways", "minOccupancy", "minRate", "multimedias", "name", "nonSmoking", "pricePoint", "proximityCode", "quantity", "roomArchitectureCode", "roomCategory", "roomClassificationCode", "roomLocationCode", "roomViewCode", "sharedRoomInd", "size" ]
      },
      "SalesChannelLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight projection of a SalesChannel representing a configured distribution relationship between a supplier and an affiliate.",
        "example" : {
          "blacklisted" : false,
          "channelDisabled" : false,
          "commission" : 0.2,
          "createdDate" : "2026-01-14T09:30:00",
          "enabled" : true,
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "ownerName" : "The Siam Residences",
          "percentDiscount" : 0.15,
          "rateModifierBundles" : [ {
            "aggregatedItemDescriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "createdDate" : "2026-01-14T09:30:00",
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "effectiveDescriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "enabled" : true,
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "items" : [ {
              "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
              "advanceBookingRateQualifier" : {
                "maxAdvanceBookingOffset" : 365,
                "minAdvanceBookingOffset" : 7
              },
              "arrivalDaysOfWeekRateQualifier" : {
                "daysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                }
              },
              "availableDaysOfWeekRateQualifier" : {
                "daysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                }
              },
              "blackoutDates" : [ {
                "effectiveDate" : "2026-04-13",
                "expireDate" : "2026-04-15"
              } ],
              "cityRateQualifiers" : [ {
                "city" : {
                  "countryCode" : "TH",
                  "geoNameId" : "1609350",
                  "latitude" : 13.7563,
                  "longitude" : 100.5018,
                  "name" : "Bangkok"
                }
              } ],
              "continentRateQualifiers" : [ {
                "continent" : "NA"
              } ],
              "countryRateQualifiers" : [ {
                "country" : {
                  "continentCode" : "AS",
                  "geoNameId" : "1609350",
                  "isoAlpha2" : "TH",
                  "isoAlpha3" : "THA",
                  "name" : "Thailand"
                }
              } ],
              "createdDate" : "2026-01-14T09:30:00",
              "departureDaysOfWeekRateQualifier" : {
                "daysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                }
              },
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "enabled" : true,
              "geoLocationRateQualifiers" : [ {
                "latitude" : 13.7563,
                "longitude" : 100.5018,
                "radiusInKilometers" : 50
              } ],
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "ipRangeRateQualifiers" : [ {
                "endIPRange" : "192.168.1.255",
                "startIPRange" : "192.168.1.0"
              } ],
              "lastMinuteRateQualifier" : {
                "seconds" : 1440
              },
              "lastUpdate" : "2026-02-03T16:45:12",
              "lengthOfStayRateQualifier" : {
                "maxLOS" : 30,
                "minLOS" : 3
              },
              "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
              "modifier" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "name" : "Early bird",
              "prepayRateQualifier" : {
                "prepay" : true
              },
              "pricingType" : "PER_PERSON_PER_NIGHT",
              "promotionRateQualifiers" : [ {
                "promotion" : "EARLYBIRD2026"
              } ],
              "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
              "refundableRateQualifier" : {
                "refundable" : true
              },
              "requiredDaysOfWeekRateQualifier" : {
                "daysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                }
              },
              "roomRangeRateQualifier" : {
                "maxRooms" : 4,
                "minRooms" : 1
              },
              "sellDateRateQualifiers" : [ {
                "effectiveDate" : "2026-05-01",
                "expireDate" : "2026-08-31"
              } ],
              "stayDateRateQualifiers" : [ {
                "effectiveDate" : "2026-06-01",
                "expireDate" : "2026-08-31"
              } ],
              "timezoneRateQualifiers" : [ {
                "timezone" : "Asia/Bangkok"
              } ],
              "type" : "DISCOUNT",
              "version" : 3
            } ],
            "lastUpdate" : "2026-02-03T16:45:12",
            "modifierOverride" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "name" : "Early bird - Long Term",
            "pricingType" : "PER_NIGHT",
            "type" : "DISCOUNT",
            "version" : 3
          } ],
          "rateModifiers" : [ {
            "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
            "advanceBookingRateQualifier" : {
              "maxAdvanceBookingOffset" : 365,
              "minAdvanceBookingOffset" : 7
            },
            "arrivalDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "availableDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "blackoutDates" : [ {
              "effectiveDate" : "2026-04-13",
              "expireDate" : "2026-04-15"
            } ],
            "cityRateQualifiers" : [ {
              "city" : {
                "countryCode" : "TH",
                "geoNameId" : "1609350",
                "latitude" : 13.7563,
                "longitude" : 100.5018,
                "name" : "Bangkok"
              }
            } ],
            "continentRateQualifiers" : [ {
              "continent" : "NA"
            } ],
            "countryRateQualifiers" : [ {
              "country" : {
                "continentCode" : "AS",
                "geoNameId" : "1609350",
                "isoAlpha2" : "TH",
                "isoAlpha3" : "THA",
                "name" : "Thailand"
              }
            } ],
            "createdDate" : "2026-01-14T09:30:00",
            "departureDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "enabled" : true,
            "geoLocationRateQualifiers" : [ {
              "latitude" : 13.7563,
              "longitude" : 100.5018,
              "radiusInKilometers" : 50
            } ],
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "ipRangeRateQualifiers" : [ {
              "endIPRange" : "192.168.1.255",
              "startIPRange" : "192.168.1.0"
            } ],
            "lastMinuteRateQualifier" : {
              "seconds" : 1440
            },
            "lastUpdate" : "2026-02-03T16:45:12",
            "lengthOfStayRateQualifier" : {
              "maxLOS" : 30,
              "minLOS" : 3
            },
            "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
            "modifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "name" : "Early bird",
            "prepayRateQualifier" : {
              "prepay" : true
            },
            "pricingType" : "PER_PERSON_PER_NIGHT",
            "promotionRateQualifiers" : [ {
              "promotion" : "EARLYBIRD2026"
            } ],
            "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
            "refundableRateQualifier" : {
              "refundable" : true
            },
            "requiredDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "roomRangeRateQualifier" : {
              "maxRooms" : 4,
              "minRooms" : 1
            },
            "sellDateRateQualifiers" : [ {
              "effectiveDate" : "2026-05-01",
              "expireDate" : "2026-08-31"
            } ],
            "stayDateRateQualifiers" : [ {
              "effectiveDate" : "2026-06-01",
              "expireDate" : "2026-08-31"
            } ],
            "timezoneRateQualifiers" : [ {
              "timezone" : "Asia/Bangkok"
            } ],
            "type" : "DISCOUNT",
            "version" : 3
          } ],
          "selfAcquires" : false,
          "subType" : "DIRECT",
          "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "supplierName" : "The Siam Residences, Bangkok",
          "version" : 3
        },
        "properties" : {
          "blacklisted" : {
            "type" : "boolean",
            "description" : "A way to blacklist a specific channel a property doesn't want to send blocking to.",
            "example" : false
          },
          "channelDisabled" : {
            "type" : "boolean",
            "description" : "System override by supplier to disable channel. E.g. Platform disables supplier.",
            "example" : false
          },
          "commission" : {
            "type" : "number",
            "format" : "float",
            "description" : "Amount of sales commission earned through this channel and all its children [unless configured at the child level].",
            "example" : 0.2,
            "maximum" : 1.0,
            "minimum" : 0.0
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Flag the supplier can use to enable / disable this channel",
            "example" : true
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "A specific identifier for the company / corporation / travel agency that is retrieving the rates",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
          },
          "ownerName" : {
            "type" : "string",
            "description" : "Name of the owner / affiliate. `Hotel booking customization` when it's the booking customization.",
            "example" : "The Siam Residences"
          },
          "percentDiscount" : {
            "type" : "number",
            "format" : "float",
            "description" : "Percent discount on this channel and all its children [unless configured at the child level].",
            "example" : 0.15,
            "maximum" : 1.0,
            "minimum" : 0.0
          },
          "rateModifierBundles" : {
            "type" : "array",
            "description" : "Promotion bundles for this channel",
            "items" : {
              "$ref" : "#/components/schemas/SpecialRateBundleLightweight_SupplierDetails"
            }
          },
          "rateModifiers" : {
            "type" : "array",
            "description" : "Promotions for this channel",
            "items" : {
              "$ref" : "#/components/schemas/SpecialRateLightweight_SupplierDetails"
            }
          },
          "selfAcquires" : {
            "type" : "boolean",
            "description" : "Whether the sales channel is a self-acquiring entity.",
            "example" : false
          },
          "subType" : {
            "type" : "string",
            "description" : "What type of segment of channel is this.",
            "enum" : [ "TRIP_PAY", "FACILITATOR", "DIRECT", "APPLICATION", "HOTEL", "TRAVELIKO", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "GOOGLE_HOTEL_API", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ],
            "example" : "DIRECT"
          },
          "supplierIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Channel is owned by this supplier identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "supplierName" : {
            "type" : "string",
            "description" : "Name of property / supplier that owns this channel",
            "example" : "The Siam Residences, Bangkok",
            "minLength" : 1
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "blacklisted", "id", "subType", "supplierIdentifier", "supplierName" ]
      },
      "SimpleAddress_SupplierDetails" : {
        "type" : "object",
        "description" : "Address information",
        "example" : {
          "address1" : "234 Near da beach",
          "address2" : "Pebble #5001",
          "city" : "Bangkok",
          "country" : "United States",
          "countryCode" : "TH",
          "county" : "Alameda county",
          "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
          "postalCode" : "90210",
          "state" : "CA"
        },
        "properties" : {
          "address1" : {
            "type" : "string",
            "description" : "Address line 1",
            "example" : "234 Near da beach"
          },
          "address2" : {
            "type" : "string",
            "description" : "Address line 2",
            "example" : "Pebble #5001"
          },
          "city" : {
            "type" : "string",
            "description" : "City name",
            "example" : "Bangkok"
          },
          "country" : {
            "type" : "string",
            "description" : "Country",
            "example" : "United States",
            "readOnly" : true
          },
          "countryCode" : {
            "type" : "string",
            "description" : "Country",
            "example" : "TH",
            "pattern" : "^[A-Z]{2}$"
          },
          "county" : {
            "type" : "string",
            "description" : "County",
            "example" : "Alameda county"
          },
          "fullAddress" : {
            "type" : "string",
            "description" : "Address 1, Address 2, City, State, Postal / Zip code, Country",
            "example" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "readOnly" : true
          },
          "postalCode" : {
            "type" : "string",
            "description" : "Postal / zip code",
            "example" : "90210"
          },
          "state" : {
            "type" : "string",
            "description" : "State",
            "example" : "CA"
          }
        }
      },
      "SimpleDescription_SupplierDetails" : {
        "type" : "object",
        "description" : "Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.",
        "example" : {
          "creator" : "USER",
          "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
          "language" : "en",
          "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
          "name" : "Deluxe River View Suite"
        },
        "properties" : {
          "creator" : {
            "type" : "string",
            "default" : "USER",
            "description" : "Whether it was user or system generated.",
            "enum" : [ "SYSTEM", "USER" ],
            "example" : "SYSTEM"
          },
          "description" : {
            "type" : "string",
            "description" : "Longer text description",
            "example" : "This is a longer description in the specified language.",
            "maxLength" : 2147483647,
            "minLength" : 1
          },
          "hashMismatch" : {
            "type" : "boolean",
            "readOnly" : true
          },
          "language" : {
            "type" : "string",
            "default" : "en",
            "description" : "Indicate which language this description is written in.",
            "example" : "en",
            "maxLength" : 2,
            "minLength" : 2,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "md5ContentHash" : {
            "type" : "string",
            "description" : "The md5 hash of the name, description and language.",
            "example" : "d41d8cd98f00b204e9800998ecf8427e"
          },
          "name" : {
            "type" : "string",
            "description" : "Use as title or short text description",
            "example" : "An example title"
          }
        },
        "required" : [ "description", "language", "name" ]
      },
      "SimpleMultimedia_SupplierDetails" : {
        "type" : "object",
        "description" : "Multimedia that contains less information than Multimedia object",
        "example" : {
          "angle" : null,
          "attribution" : [ ],
          "category" : "2",
          "descriptions" : [ {
            "description" : "Elegant lobby of The Siam Residences",
            "language" : "en",
            "title" : "Lobby Entrance"
          } ],
          "height" : 1600,
          "identifier" : "the-siam-residences/lobby-entrance",
          "isLandscape" : true,
          "lifestyleType" : null,
          "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "published" : true,
          "sort" : 10,
          "source" : "CLOUDINARY",
          "type" : "IMAGE",
          "width" : 2560
        },
        "properties" : {
          "angle" : {
            "type" : "string",
            "description" : "Media angle",
            "example" : "-90"
          },
          "attribution" : {
            "type" : "array",
            "description" : "Whether image has attribution properties",
            "items" : {
              "$ref" : "#/components/schemas/MediaAuthorAttribution_SupplierDetails"
            }
          },
          "category" : {
            "type" : "string",
            "description" : "Supported OTA specification `PIC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized media captions to give user some context about where this media was taken.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_SupplierDetails"
            }
          },
          "height" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Media height in pixels.",
            "example" : 1600,
            "minimum" : 1
          },
          "identifier" : {
            "type" : "string",
            "description" : "Use this identifier to communicate with Cloudinary.",
            "example" : "cloudinary-image-1",
            "minLength" : 1
          },
          "isLandscape" : {
            "type" : "boolean",
            "description" : "True if media width is greater or equal to height",
            "example" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "multimediaIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Document identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "published" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.",
            "example" : true
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 999,
            "description" : "Sort allows you to control how you want to sort this record in a list of media records.",
            "example" : 10
          },
          "source" : {
            "type" : "string",
            "default" : "CLOUDINARY",
            "description" : "Currently ONLY using Cloudinary to store all image / video assets.",
            "enum" : [ "YOUTUBE", "CLOUDINARY" ],
            "example" : "CLOUDINARY"
          },
          "type" : {
            "type" : "string",
            "description" : "Whether Cloudinary media is a VIDEO or IMAGE.",
            "enum" : [ "IMAGE", "VIDEO", "AUDIO", "RAW" ],
            "example" : "IMAGE"
          },
          "width" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Media width in pixels.",
            "example" : 2560,
            "minimum" : 1
          }
        },
        "required" : [ "height", "identifier", "multimediaIdentifier", "sort", "source", "type", "width" ]
      },
      "Social_SupplierDetails" : {
        "type" : "object",
        "description" : "Social network",
        "example" : {
          "location" : "https://www.instagram.com/thesiamresidences",
          "type" : "INSTAGRAM"
        },
        "properties" : {
          "location" : {
            "type" : "string",
            "description" : "URL or social network identifier to social network profile",
            "example" : "https://www.instagram.com/thesiamresidences"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of social network.",
            "enum" : [ "FACEBOOK", "INSTAGRAM", "SKYPE", "TRIP_ADVISOR", "TWITTER", "GOOGLE_PLUS", "WHATSAPP", "LINE", "WECHAT", "VIBER", "SNAPCHAT", "WEIBO", "RENREN", "WEBSITE", "QQ", "TIKTOK" ],
            "example" : "INSTAGRAM"
          }
        }
      },
      "SpecialRateBundleLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "A lightweight projection of a promotion bundle containing the full set of qualifying conditions and metadata.",
        "example" : {
          "aggregatedItemDescriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "createdDate" : "2026-01-14T09:30:00",
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "effectiveDescriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "enabled" : true,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "items" : [ {
            "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
            "advanceBookingRateQualifier" : {
              "maxAdvanceBookingOffset" : 365,
              "minAdvanceBookingOffset" : 7
            },
            "arrivalDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "availableDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "blackoutDates" : [ {
              "effectiveDate" : "2026-04-13",
              "expireDate" : "2026-04-15"
            } ],
            "cityRateQualifiers" : [ {
              "city" : {
                "countryCode" : "TH",
                "geoNameId" : "1609350",
                "latitude" : 13.7563,
                "longitude" : 100.5018,
                "name" : "Bangkok"
              }
            } ],
            "continentRateQualifiers" : [ {
              "continent" : "NA"
            } ],
            "countryRateQualifiers" : [ {
              "country" : {
                "continentCode" : "AS",
                "geoNameId" : "1609350",
                "isoAlpha2" : "TH",
                "isoAlpha3" : "THA",
                "name" : "Thailand"
              }
            } ],
            "createdDate" : "2026-01-14T09:30:00",
            "departureDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "enabled" : true,
            "geoLocationRateQualifiers" : [ {
              "latitude" : 13.7563,
              "longitude" : 100.5018,
              "radiusInKilometers" : 50
            } ],
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "ipRangeRateQualifiers" : [ {
              "endIPRange" : "192.168.1.255",
              "startIPRange" : "192.168.1.0"
            } ],
            "lastMinuteRateQualifier" : {
              "seconds" : 1440
            },
            "lastUpdate" : "2026-02-03T16:45:12",
            "lengthOfStayRateQualifier" : {
              "maxLOS" : 30,
              "minLOS" : 3
            },
            "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
            "modifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "name" : "Early bird",
            "prepayRateQualifier" : {
              "prepay" : true
            },
            "pricingType" : "PER_PERSON_PER_NIGHT",
            "promotionRateQualifiers" : [ {
              "promotion" : "EARLYBIRD2026"
            } ],
            "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
            "refundableRateQualifier" : {
              "refundable" : true
            },
            "requiredDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "roomRangeRateQualifier" : {
              "maxRooms" : 4,
              "minRooms" : 1
            },
            "sellDateRateQualifiers" : [ {
              "effectiveDate" : "2026-05-01",
              "expireDate" : "2026-08-31"
            } ],
            "stayDateRateQualifiers" : [ {
              "effectiveDate" : "2026-06-01",
              "expireDate" : "2026-08-31"
            } ],
            "timezoneRateQualifiers" : [ {
              "timezone" : "Asia/Bangkok"
            } ],
            "type" : "DISCOUNT",
            "version" : 3
          } ],
          "lastUpdate" : "2026-02-03T16:45:12",
          "modifierOverride" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "name" : "Early bird - Long Term",
          "pricingType" : "PER_NIGHT",
          "type" : "DISCOUNT",
          "version" : 3
        },
        "properties" : {
          "aggregatedItemDescriptions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_SupplierDetails"
            }
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Optional bundle-level descriptions. When populated, these replace the aggregated item descriptions in offerDetails.",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_SupplierDetails"
            }
          },
          "effectiveDescriptions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_SupplierDetails"
            }
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this promotion ancillary is enabled or not.",
            "example" : true
          },
          "hasFixedDiscountModifier" : {
            "type" : "boolean"
          },
          "hasPercentDiscountModifier" : {
            "type" : "boolean"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "isValid" : {
            "type" : "boolean",
            "writeOnly" : true
          },
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SpecialRateLightweight_SupplierDetails",
              "description" : "Promotions that go together to make up this ancillary."
            },
            "minItems" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "modifierOverride" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails",
            "description" : "Optional: override the combined discount of all bundle items with a single fixed or percentage amount."
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of promotion ancillary.",
            "example" : "Early bird - Long Term",
            "minLength" : 1
          },
          "pricingType" : {
            "type" : "string",
            "description" : "Determines whether this discount should be applied per night, per stay or per person - per night; Required if amount override is not null",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_NIGHT"
          },
          "type" : {
            "type" : "string",
            "description" : "Required if manual override modifier is not null",
            "enum" : [ "PREMIUM", "DISCOUNT" ],
            "example" : "DISCOUNT"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "enabled", "hotelIdentifier", "id", "items", "name" ]
      },
      "SpecialRateLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "A lightweight projection of a special rate (promotion) containing all qualifying conditions and metadata.",
        "example" : {
          "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
          "advanceBookingRateQualifier" : {
            "maxAdvanceBookingOffset" : 365,
            "minAdvanceBookingOffset" : 7
          },
          "arrivalDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "availableDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "blackoutDates" : [ {
            "effectiveDate" : "2026-04-13",
            "expireDate" : "2026-04-15"
          } ],
          "cityRateQualifiers" : [ {
            "city" : {
              "countryCode" : "TH",
              "geoNameId" : "1609350",
              "latitude" : 13.7563,
              "longitude" : 100.5018,
              "name" : "Bangkok"
            }
          } ],
          "continentRateQualifiers" : [ {
            "continent" : "NA"
          } ],
          "countryRateQualifiers" : [ {
            "country" : {
              "continentCode" : "AS",
              "geoNameId" : "1609350",
              "isoAlpha2" : "TH",
              "isoAlpha3" : "THA",
              "name" : "Thailand"
            }
          } ],
          "createdDate" : "2026-01-14T09:30:00",
          "departureDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "enabled" : true,
          "geoLocationRateQualifiers" : [ {
            "latitude" : 13.7563,
            "longitude" : 100.5018,
            "radiusInKilometers" : 50
          } ],
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "ipRangeRateQualifiers" : [ {
            "endIPRange" : "192.168.1.255",
            "startIPRange" : "192.168.1.0"
          } ],
          "lastMinuteRateQualifier" : {
            "seconds" : 1440
          },
          "lastUpdate" : "2026-02-03T16:45:12",
          "lengthOfStayRateQualifier" : {
            "maxLOS" : 30,
            "minLOS" : 3
          },
          "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
          "modifier" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "name" : "Early bird",
          "prepayRateQualifier" : {
            "prepay" : true
          },
          "pricingType" : "PER_PERSON_PER_NIGHT",
          "promotionRateQualifiers" : [ {
            "promotion" : "EARLYBIRD2026"
          } ],
          "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
          "refundableRateQualifier" : {
            "refundable" : true
          },
          "requiredDaysOfWeekRateQualifier" : {
            "daysOfWeek" : {
              "disabled" : true,
              "fri" : true,
              "mon" : true,
              "sat" : true,
              "sun" : true,
              "thu" : true,
              "tue" : true,
              "wed" : true
            }
          },
          "roomRangeRateQualifier" : {
            "maxRooms" : 4,
            "minRooms" : 1
          },
          "sellDateRateQualifiers" : [ {
            "effectiveDate" : "2026-05-01",
            "expireDate" : "2026-08-31"
          } ],
          "stayDateRateQualifiers" : [ {
            "effectiveDate" : "2026-06-01",
            "expireDate" : "2026-08-31"
          } ],
          "timezoneRateQualifiers" : [ {
            "timezone" : "Asia/Bangkok"
          } ],
          "type" : "DISCOUNT",
          "version" : 3
        },
        "properties" : {
          "addOnIdentifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Add-on identifier",
              "example" : "880e8400-e29b-41d4-a716-446655440333"
            }
          },
          "advanceBookingRateQualifier" : {
            "$ref" : "#/components/schemas/AdvanceBookingRateQualifier_SupplierDetails",
            "description" : "Restrict promotion to users who want to book in advance."
          },
          "arrivalDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/ArrivalDaysOfWeekRateQualifier_SupplierDetails",
            "description" : "Restrict promotion to specific days of the week the guest is arriving."
          },
          "availableDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/AvailableDaysOfWeekRateQualifier_SupplierDetails",
            "description" : "Restrict promotion to specific days of the week the promotion is available."
          },
          "blackoutDates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BlackoutDate"
            }
          },
          "cityRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CityRateQualifierLightweight"
            }
          },
          "continentRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ContinentRateQualifier"
            }
          },
          "countryRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CountryRateQualifier"
            }
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "departureDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/DepartureDaysOfWeekRateQualifier_SupplierDetails",
            "description" : "Restrict promotion to specific days of the week the guest is departing."
          },
          "descriptions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription"
            },
            "minItems" : 1
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this promotion is enabled or not.",
            "example" : true
          },
          "geoLocationRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GeoLocationRateQualifier"
            }
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier of the property this promotion belongs to.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "ipRangeRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/IPRangeRateQualifier"
            }
          },
          "lastMinuteRateQualifier" : {
            "$ref" : "#/components/schemas/MinutesBeforeBookingStartDateRateQualifier_SupplierDetails",
            "description" : "Restrict promotion to users who want to book a room close to the date."
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lengthOfStayRateQualifier" : {
            "$ref" : "#/components/schemas/LengthOfStayRateQualifier_SupplierDetails",
            "description" : "Restrict promotion to users who want to stay a certain number of days."
          },
          "masterRateIdentifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Master rate identifier",
              "example" : "770e8400-e29b-41d4-a716-446655440222"
            }
          },
          "modifier" : {
            "$ref" : "#/components/schemas/VariableCharge_SupplierDetails",
            "description" : "The discount or premium amount and its type (fixed or percentage)."
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of promotion.",
            "example" : "Early bird",
            "minLength" : 1
          },
          "prepayRateQualifier" : {
            "$ref" : "#/components/schemas/PrepayRateQualifier_SupplierDetails",
            "description" : "Restrict promotion to either prepaid / non-prepaid rates."
          },
          "pricingType" : {
            "type" : "string",
            "description" : "This determines whether this discount should be applied per night, per stay or per person - per night",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_PERSON_PER_NIGHT"
          },
          "promotionRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PromotionRateQualifier"
            }
          },
          "ratePlanIdentifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Rate plan identifier",
              "example" : "990e8400-e29b-41d4-a716-446655440444"
            }
          },
          "refundableRateQualifier" : {
            "$ref" : "#/components/schemas/RefundableRateQualifier_SupplierDetails",
            "description" : "Restrict promotion to either refundable / non-refundable rates."
          },
          "requiredDaysOfWeekRateQualifier" : {
            "$ref" : "#/components/schemas/RequiredDaysOfWeekRateQualifier_SupplierDetails",
            "description" : "Restrict promotion to specific days of the week the guest has to stay."
          },
          "roomRangeRateQualifier" : {
            "$ref" : "#/components/schemas/RoomRangeRateQualifier_SupplierDetails",
            "description" : "Restrict promotion by restricting to how many rooms the user wants."
          },
          "sellDateRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SellDateRateQualifier"
            }
          },
          "stayDateRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/StayDateRateQualifier"
            }
          },
          "timezoneRateQualifiers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TimezoneRateQualifier"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Set whether you want the price to go up or down when the rules of this promotion have been satisfied.",
            "enum" : [ "PREMIUM", "DISCOUNT" ],
            "example" : "DISCOUNT"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "descriptions", "enabled", "hotelIdentifier", "id", "modifier", "name", "pricingType", "type" ]
      },
      "StayRate_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "beneficiaryList" : [ {
            "accountEmail" : "reservations@thesiamresidences.com",
            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "accountName" : "The Siam Residences, Bangkok",
            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
            "amountDue" : {
              "percent" : 0.05
            },
            "displayAmount" : 450.0,
            "displayAmountRefundModifier" : 45.0,
            "displayCurrency" : "USD",
            "internalAmount" : 450.0,
            "internalAmountRefundModifier" : 45.0,
            "internalCurrency" : "USD",
            "netDisplayAmount" : 450.0,
            "netInternalAmount" : 450.0,
            "netSourceAmount" : 450.0,
            "pendingRefunds" : [ {
              "displayAmountRefundModifier" : 45.0,
              "internalAmountRefundModifier" : 45.0,
              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
              "sourceAmountRefundModifier" : 45.0
            } ],
            "reconciled" : false,
            "sourceAmount" : 450.0,
            "sourceAmountRefundModifier" : 45.0,
            "sourceCurrency" : "THB"
          } ],
          "financialBreakdown" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "displayPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "internalPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            }
          },
          "internalAveragePricePerNight" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "internalBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "internalChannelModifier" : -10,
          "internalExtraChildModifier" : 15,
          "internalExtraPaxModifier" : 15,
          "internalPremiumModifier" : 40,
          "internalPromotionalModifier" : -40,
          "internalSingleOccupantModifier" : -15,
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "list" : [ {
            "baseRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "includedAdultOccupancy" : 2,
            "includedChildOccupancy" : 0,
            "internalBaseRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "maxAdultOccupancy" : 1,
            "maxChildOccupancy" : 0,
            "offerDetails" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "rate" : {
              "closedOnArrival" : false,
              "closedOnDeparture" : false,
              "date" : "2020-8-24",
              "extraChildRateModifier" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "extraPaxRateModifier" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
              "master" : true,
              "maxLengthOfStay" : 8,
              "maxOccupancy" : 2,
              "minLengthOfStay" : 4,
              "minOccupancy" : 1,
              "quantity" : 9,
              "rate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "ratePlanIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
              "rateSource" : "NONE",
              "singleOccupancyRateModifier" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              }
            },
            "sourceBaseRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          } ],
          "offerDetails" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "sourceAveragePricePerNight" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "sourceBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "sourceChannelModifier" : -10,
          "sourceExtraChildModifier" : 15,
          "sourceExtraPaxModifier" : 15,
          "sourcePremiumModifier" : 40,
          "sourcePromotionalModifier" : -40,
          "sourceSingleOccupantModifier" : -15,
          "sourceToInternalCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceToUserCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyAveragePricePerNight" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyChannelModifier" : -10,
          "userSpecifiedCurrencyExtraChildModifier" : 15,
          "userSpecifiedCurrencyExtraPaxModifier" : 15,
          "userSpecifiedCurrencyPremiumModifier" : 40,
          "userSpecifiedCurrencyPromotionalModifier" : -40,
          "userSpecifiedCurrencySingleOccupantModifier" : -15,
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "available" : {
            "type" : "boolean",
            "description" : "Available"
          },
          "beneficiaryList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Beneficiary_SupplierDetails"
            }
          },
          "channelDiscountPercent" : {
            "type" : "number",
            "description" : "Chanel discount percent"
          },
          "financialBreakdown" : {
            "$ref" : "#/components/schemas/FinancialBreakdown_SupplierDetails"
          },
          "internalAveragePricePerNight" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "internalBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base total in wink currency."
          },
          "internalChannelModifier" : {
            "type" : "number",
            "description" : "Channel / Membership modifier in wink currency",
            "example" : -10
          },
          "internalExtraChildModifier" : {
            "type" : "number",
            "description" : "Extra child modifier in wink currency",
            "example" : 15
          },
          "internalExtraPaxModifier" : {
            "type" : "number",
            "description" : "Extra person modifier in wink currency",
            "example" : 15
          },
          "internalPremiumModifier" : {
            "type" : "number",
            "description" : "Rate premiums modifiers in wink currency",
            "example" : 40
          },
          "internalPromotionalModifier" : {
            "type" : "number",
            "description" : "Rate discount modifiers in wink currency",
            "example" : -40
          },
          "internalSingleOccupantModifier" : {
            "type" : "number",
            "description" : "Singe occupant modifier in wink currency",
            "example" : -15
          },
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Internal currency final price."
          },
          "list" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DailyRate_SupplierDetails"
            }
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum occupancy"
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Minimum occupancy"
          },
          "offerDetails" : {
            "type" : "array",
            "description" : "Localized text of the discount",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_SupplierDetails"
            }
          },
          "premiumPercent" : {
            "type" : "number",
            "description" : "Premium percent"
          },
          "promotionalCodes" : {
            "type" : "array",
            "description" : "Promotional codes",
            "items" : {
              "type" : "string"
            }
          },
          "promotionalDiscountPercent" : {
            "type" : "number",
            "description" : "Promotional discount percent"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Quantity"
          },
          "rateSource" : {
            "type" : "string",
            "description" : "Source"
          },
          "sourceAveragePricePerNight" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "sourceBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base total in hotel's currency."
          },
          "sourceChannelModifier" : {
            "type" : "number",
            "description" : "Channel / Membership modifier in hotel currency",
            "example" : -10
          },
          "sourceExtraChildModifier" : {
            "type" : "number",
            "description" : "Extra child modifier in hotel currency",
            "example" : 15
          },
          "sourceExtraPaxModifier" : {
            "type" : "number",
            "description" : "Extra person modifier in hotel currency.",
            "example" : 15
          },
          "sourcePremiumModifier" : {
            "type" : "number",
            "description" : "Rate premiums modifiers in hotel currency",
            "example" : 40
          },
          "sourcePromotionalModifier" : {
            "type" : "number",
            "description" : "Rate discount modifiers in hotel currency",
            "example" : -40
          },
          "sourceSingleOccupantModifier" : {
            "type" : "number",
            "description" : "Single occupant modifier in hotel currency",
            "example" : -15
          },
          "sourceToInternalCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails",
            "description" : "Hotel to wink currency exchange rate."
          },
          "sourceToUserCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails",
            "description" : "Hotel to user currency exchange rate."
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Source currency final price."
          },
          "totalDiscountPercent" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyAveragePricePerNight" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "userSpecifiedCurrencyBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base total in user specified currency."
          },
          "userSpecifiedCurrencyChannelModifier" : {
            "type" : "number",
            "description" : "Channel / Membership modifier in user specified currency",
            "example" : -10
          },
          "userSpecifiedCurrencyExtraChildModifier" : {
            "type" : "number",
            "description" : "Extra child modifier in user specified currcency",
            "example" : 15
          },
          "userSpecifiedCurrencyExtraPaxModifier" : {
            "type" : "number",
            "description" : "Extra person modifier in user specified currency",
            "example" : 15
          },
          "userSpecifiedCurrencyPremiumModifier" : {
            "type" : "number",
            "description" : "Rate premiums modifiers in user specified currency",
            "example" : 40
          },
          "userSpecifiedCurrencyPromotionalModifier" : {
            "type" : "number",
            "description" : "Rate discount modifiers in user specified currency",
            "example" : -40
          },
          "userSpecifiedCurrencySingleOccupantModifier" : {
            "type" : "number",
            "description" : "Single occupant modifier in user specified currency",
            "example" : -15
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "User-defined currency final price."
          }
        }
      },
      "TransactionalTravelInventory_SupplierDetails" : {
        "type" : "object",
        "description" : "This is one bookable item that can stand alongside a restaurant / meeting room etc.",
        "example" : {
          "basePrice" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "discountedPrice" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "maxPax" : 10,
          "minPax" : 2,
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "1 hour session",
          "percentDiscount" : 0.1,
          "percentPremium" : 0.1,
          "pricingType" : "PER_NIGHT"
        },
        "properties" : {
          "basePrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base price of booking this inventory."
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_SupplierDetails"
            },
            "maxItems" : 2147483647,
            "minItems" : 1
          },
          "discountedPrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "If you are selling this inventory at a discount, indicate the discounted selling price. Leave empty if there is no discount."
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique transactional identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "maxPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Whether there is a limit to maximum group size.",
            "example" : 10,
            "minimum" : 0
          },
          "minPax" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Whether there is a limit to minimum group size.",
            "example" : 2,
            "minimum" : 0
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of item.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_SupplierDetails"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of transactional blocking.",
            "example" : "1 hour session",
            "minLength" : 1
          },
          "percentDiscount" : {
            "type" : "number",
            "description" : "Calculates the percent difference between basePrice and discountedPrice.",
            "example" : 0.1
          },
          "percentPremium" : {
            "type" : "number",
            "description" : "Calculates the percent difference between basePrice and discountedPrice.",
            "example" : 0.1
          },
          "pricingType" : {
            "type" : "string",
            "description" : "How this inventory item should be priced.",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_NIGHT"
          }
        },
        "required" : [ "basePrice", "descriptions", "discountedPrice", "identifier", "name", "pricingType" ]
      },
      "TravelInventoryRecognition_SupplierDetails" : {
        "type" : "object",
        "description" : "Recognition for the ancillary blocking.",
        "example" : {
          "category" : "AWARD",
          "date" : "2026-01-14",
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "maxRating" : 10.0,
          "officialAppointmentInd" : true,
          "provider" : "Michelin",
          "rating" : 8.5,
          "ratingSymbol" : "*",
          "type" : "PERCENT_RATING"
        },
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Recognition category.",
            "enum" : [ "THIRD_PARTY_REVIEW", "PUBLICATION", "AWARD" ],
            "example" : "AWARD"
          },
          "date" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date the award was received",
            "example" : "2020-10-24"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Recognition identifier.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "maxRating" : {
            "type" : "number",
            "format" : "float",
            "description" : "Use this to let hotels indicate what the total score for this award is.",
            "example" : 10
          },
          "officialAppointmentInd" : {
            "type" : "boolean",
            "description" : "When true, this indicates the property has received official permission from the award provider to use the rating in publications and marketing materials; when false this permission has not been granted.",
            "example" : true
          },
          "provider" : {
            "type" : "string",
            "description" : "The name of the entity that administers this recognition.",
            "example" : "Michelin",
            "minLength" : 1
          },
          "rating" : {
            "type" : "number",
            "format" : "float",
            "description" : "The actual award or rating received by the hotel facility.",
            "example" : 8.5,
            "minimum" : 0.0
          },
          "ratingSymbol" : {
            "type" : "string",
            "description" : "Provides the symbol used in the rating. Used in conjunction with the Rating.",
            "example" : "*"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of rating system the recognition operated on. This allows us to display the score properly.",
            "enum" : [ "STAR_RATING", "NUMERIC_RATING", "PERCENT_RATING" ],
            "example" : "PERCENT_RATING"
          }
        },
        "required" : [ "category", "identifier", "maxRating", "provider", "rating", "type" ]
      },
      "VariableCharge_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "fixedAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "percent" : 0.25,
          "type" : "PERCENTAGE"
        },
        "properties" : {
          "fixedAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "A localized amount, always non-negative. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value."
          },
          "percent" : {
            "type" : "number",
            "format" : "float",
            "description" : "A fraction between 0 and 1 (inclusive) representing a percentage of the total stay amount for an early check-in or late check-out, e.g. 0.25 for 25%. Direction (surcharge vs. discount) is determined by which field this charge is assigned to, not the sign of this value.",
            "example" : 0.25,
            "maximum" : 1.0,
            "minimum" : 0.0
          },
          "type" : {
            "type" : "string",
            "description" : "When the type is FIXED, fixedAmount is required. When the type is PERCENTAGE, percent is required.",
            "enum" : [ "FIXED", "PERCENTAGE" ],
            "example" : "PERCENTAGE"
          }
        },
        "required" : [ "type" ]
      },
      "BookingTestNotification_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "booker" : {
            "email" : "reservations@thesiamresidences.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "telephone" : "+1 212 555 1212",
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          }
        },
        "properties" : {
          "booker" : {
            "$ref" : "#/components/schemas/BookingUser_SupplierDetails",
            "description" : "Whether to notify booker of booking"
          },
          "notifyBooker" : {
            "type" : "boolean",
            "description" : "Whether to notify booker of booking"
          },
          "notifyChannelManager" : {
            "type" : "boolean",
            "description" : "Whether to notify channel manager of booking"
          },
          "notifyProperty" : {
            "type" : "boolean",
            "description" : "Whether to notify property of booking"
          }
        }
      },
      "BookingTestRequest_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "notification" : {
            "booker" : {
              "email" : "reservations@thesiamresidences.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "telephone" : "+1 212 555 1212",
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
            }
          },
          "query" : {
            "channel" : {
              "name" : "The Siam Residences - Direct Channel",
              "ownerIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "propertyIdentifier" : "the-siam-residences",
              "subType" : "HOTEL"
            },
            "city" : {
              "cityName" : "Bangkok",
              "continentCode" : "AS",
              "continentName" : "Asia",
              "countryIsoCode" : "TH",
              "countryName" : "Thailand",
              "geoNameId" : "1609350",
              "localeCode" : "en",
              "subDivision1Code" : "10",
              "subDivision1Name" : "Bangkok",
              "subDivision2Code" : "1001",
              "subDivision2Name" : "Phra Nakhon",
              "timezone" : "Asia/Bangkok"
            },
            "country" : {
              "continentCode" : "AS",
              "continentName" : "Asia",
              "countryIsoCode" : "TH",
              "countryName" : "Thailand",
              "geoNameId" : "1609350"
            },
            "roomConfigurations" : [ {
              "adults" : 2,
              "children" : [ {
                "age" : 7,
                "quantity" : 2
              } ],
              "quantity" : 2
            } ]
          },
          "room" : {
            "activeCancellationPolicy" : {
              "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
              "createdDate" : "2026-01-14T09:30:00",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
              "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
              "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
              "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
              "refundable" : false,
              "refundableCancellationCharge" : "FIFTY_PERCENT",
              "version" : 3
            },
            "addOnOffers" : [ {
              "addOn" : {
                "active" : true,
                "address" : {
                  "address1" : "234 Near da beach",
                  "address2" : "Pebble #5001",
                  "city" : "Bangkok",
                  "country" : "United States",
                  "countryCode" : "TH",
                  "county" : "Alameda county",
                  "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                  "postalCode" : "90210",
                  "state" : "CA"
                },
                "applicableEnd" : "1970-12-1",
                "applicableStart" : "1970-1-1",
                "bookable" : true,
                "closes" : "17:30",
                "commissionable" : true,
                "contact" : {
                  "email" : "johnsmith@email.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phoneNumber" : "+12125551212",
                  "secondaryEmail" : "johnsmith2@email.com",
                  "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                },
                "createdDate" : "2026-01-14T09:30:00",
                "dateRanges" : [ {
                  "endDate" : "2020-12-31",
                  "startDate" : "2020-12-24"
                } ],
                "daysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                },
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                } ],
                "featuredInd" : false,
                "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "lastUpdate" : "2026-02-03T16:45:12",
                "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                "location" : {
                  "coordinates" : [ 100.5581533, 13.7370197 ],
                  "type" : "POINT"
                },
                "mandatory" : true,
                "minAgeAppropriateCode" : "1",
                "multimedias" : [ {
                  "angle" : null,
                  "attribution" : [ ],
                  "category" : "2",
                  "descriptions" : [ {
                    "description" : "Elegant lobby of The Siam Residences",
                    "language" : "en",
                    "title" : "Lobby Entrance"
                  } ],
                  "height" : 1600,
                  "identifier" : "the-siam-residences/lobby-entrance",
                  "isLandscape" : true,
                  "lifestyleType" : null,
                  "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "published" : true,
                  "sort" : 10,
                  "source" : "CLOUDINARY",
                  "type" : "IMAGE",
                  "width" : 2560
                } ],
                "name" : "Archery lesson",
                "numberOfUnits" : 15,
                "opens" : "09:00",
                "pricePoint" : "THREE",
                "proximityCode" : "1",
                "publishStatus" : "PUBLISHED",
                "ratePlan" : {
                  "allInclusive" : false,
                  "allInclusivePlusAlcohol" : false,
                  "arrivalDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "availableDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "breakfast" : false,
                  "brunch" : false,
                  "cancellationPolicy" : {
                    "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                    "createdDate" : "2026-01-14T09:30:00",
                    "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                    "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                    "lastUpdate" : "2026-02-03T16:45:12",
                    "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                    "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                    "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                    "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                    "refundable" : false,
                    "refundableCancellationCharge" : "FIFTY_PERCENT",
                    "version" : 3
                  },
                  "cancellationPolicyExceptions" : {
                    "list" : [ {
                      "cancellationPolicyIdentifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                      "endDate" : "2026-12-31",
                      "startDate" : "2026-01-14"
                    } ]
                  },
                  "createdDate" : "2026-01-14T09:30:00",
                  "departureDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "dinner" : false,
                  "earlyCheckInCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "enabled" : false,
                  "extraChildRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "lateCheckOutCharge" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "loyaltyPointsAccrue" : false,
                  "lunch" : false,
                  "maxAdvanceBookingOffset" : 180,
                  "maxAge" : 65,
                  "maxLOS" : 30,
                  "maxTotalOccupancy" : 4,
                  "minAdvanceBookingOffset" : 3,
                  "minAge" : 18,
                  "minLOS" : 1,
                  "minTotalOccupancy" : 1,
                  "name" : "Best Available Rate",
                  "prepaid" : false,
                  "ratePlanLevelFees" : [ {
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "fixedAmount" : 450.0,
                    "type" : "PER_DAY"
                  } ],
                  "requiredDaysOfWeek" : {
                    "disabled" : true,
                    "fri" : true,
                    "mon" : true,
                    "sat" : true,
                    "sun" : true,
                    "thu" : true,
                    "tue" : true,
                    "wed" : true
                  },
                  "sellEndDate" : "2026-12-31",
                  "sellStartDate" : "2026-01-15",
                  "singleOccupancyRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "stayEndDate" : "2026-12-31",
                  "stayStartDate" : "2026-01-15",
                  "version" : 3
                },
                "recognitionList" : [ {
                  "category" : "AWARD",
                  "date" : "2026-01-14",
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "maxRating" : 10.0,
                  "officialAppointmentInd" : true,
                  "provider" : "Michelin",
                  "rating" : 8.5,
                  "ratingSymbol" : "*",
                  "type" : "PERCENT_RATING"
                } ],
                "reservationRequiredInd" : false,
                "socials" : [ {
                  "location" : "https://www.instagram.com/thesiamresidences",
                  "type" : "INSTAGRAM"
                } ],
                "sort" : 1,
                "transactionalInventoryList" : [ {
                  "basePrice" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "discountedPrice" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "maxPax" : 10,
                  "minPax" : 2,
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "1 hour session",
                  "percentDiscount" : 0.1,
                  "percentPremium" : 0.1,
                  "pricingType" : "PER_NIGHT"
                } ],
                "version" : 3
              },
              "commission" : 0.1,
              "direct" : true,
              "priceList" : [ {
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                } ],
                "identifier" : "travel-blocking-1",
                "maxPax" : 10,
                "minPax" : 2,
                "multimedias" : [ {
                  "angle" : null,
                  "attribution" : [ ],
                  "category" : "2",
                  "descriptions" : [ {
                    "description" : "Elegant lobby of The Siam Residences",
                    "language" : "en",
                    "title" : "Lobby Entrance"
                  } ],
                  "height" : 1600,
                  "identifier" : "the-siam-residences/lobby-entrance",
                  "isLandscape" : true,
                  "lifestyleType" : null,
                  "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "published" : true,
                  "sort" : 10,
                  "source" : "CLOUDINARY",
                  "type" : "IMAGE",
                  "width" : 2560
                } ],
                "name" : "1 hour session",
                "offerDetails" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "price" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                }
              } ]
            } ],
            "commission" : 0.1,
            "configuration" : {
              "adults" : 2,
              "children" : [ {
                "age" : 7,
                "quantity" : 2
              } ],
              "quantity" : 2
            },
            "direct" : true,
            "extraCharges" : {
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "items" : [ {
                "price" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                },
                "ratePlanLevelFee" : {
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "fixedAmount" : 450.0,
                  "type" : "PER_DAY"
                },
                "unitPrice" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                }
              } ],
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "list" : [ {
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "identifier" : "travel-blocking-1",
              "maxPax" : 10,
              "minPax" : 2,
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "1 hour session",
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              }
            } ],
            "perkTypes" : [ {
              "descriptions" : [ {
                "description" : "Guaranteed upgrade to the next available room category at check-in",
                "language" : "en",
                "name" : "Guaranteed Room Upgrade"
              } ],
              "guaranteed" : true,
              "id" : "PERK_GUARANTEED_UPGRADE",
              "level" : 3,
              "sort" : 5
            } ],
            "price" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "internalAveragePricePerNight" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalExtraChildModifier" : 15,
              "internalExtraPaxModifier" : 15,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalSingleOccupantModifier" : -15,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "list" : [ {
                "baseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "financialBreakdown" : {
                  "beneficiaryList" : [ {
                    "accountEmail" : "reservations@thesiamresidences.com",
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "The Siam Residences, Bangkok",
                    "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                    "amountDue" : {
                      "percent" : 0.05
                    },
                    "displayAmount" : 450.0,
                    "displayAmountRefundModifier" : 45.0,
                    "displayCurrency" : "USD",
                    "internalAmount" : 450.0,
                    "internalAmountRefundModifier" : 45.0,
                    "internalCurrency" : "USD",
                    "netDisplayAmount" : 450.0,
                    "netInternalAmount" : 450.0,
                    "netSourceAmount" : 450.0,
                    "pendingRefunds" : [ {
                      "displayAmountRefundModifier" : 45.0,
                      "internalAmountRefundModifier" : 45.0,
                      "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                      "sourceAmountRefundModifier" : 45.0
                    } ],
                    "reconciled" : false,
                    "sourceAmount" : 450.0,
                    "sourceAmountRefundModifier" : 45.0,
                    "sourceCurrency" : "THB"
                  } ],
                  "displayPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "internalPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  }
                },
                "includedAdultOccupancy" : 2,
                "includedChildOccupancy" : 0,
                "internalBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "maxAdultOccupancy" : 1,
                "maxChildOccupancy" : 0,
                "offerDetails" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "rate" : {
                  "closedOnArrival" : false,
                  "closedOnDeparture" : false,
                  "date" : "2020-8-24",
                  "extraChildRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "extraPaxRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  },
                  "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                  "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                  "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                  "master" : true,
                  "maxLengthOfStay" : 8,
                  "maxOccupancy" : 2,
                  "minLengthOfStay" : 4,
                  "minOccupancy" : 1,
                  "quantity" : 9,
                  "rate" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "ratePlanIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                  "rateSource" : "NONE",
                  "singleOccupancyRateModifier" : {
                    "fixedAmount" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "percent" : 0.25,
                    "type" : "PERCENTAGE"
                  }
                },
                "sourceBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              } ],
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "sourceAveragePricePerNight" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourceExtraChildModifier" : 15,
              "sourceExtraPaxModifier" : 15,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceSingleOccupantModifier" : -15,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyAveragePricePerNight" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyExtraChildModifier" : 15,
              "userSpecifiedCurrencyExtraPaxModifier" : 15,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencySingleOccupantModifier" : -15,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "priceList" : [ {
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "identifier" : "travel-blocking-1",
              "maxPax" : 10,
              "minPax" : 2,
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "1 hour session",
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              }
            } ],
            "ratePlan" : {
              "allInclusive" : false,
              "allInclusivePlusAlcohol" : false,
              "breakfast" : false,
              "brunch" : false,
              "dinner" : false,
              "earlyCheckInCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "lateCheckOutCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "lunch" : false,
              "name" : "BAR 1"
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          }
        },
        "properties" : {
          "notification" : {
            "$ref" : "#/components/schemas/BookingTestNotification_SupplierDetails",
            "description" : "Notification options"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of rooms"
          },
          "query" : {
            "$ref" : "#/components/schemas/VerifyRatesRequest_SupplierDetails",
            "description" : "Query object that was used to generate the room property"
          },
          "room" : {
            "$ref" : "#/components/schemas/RoomConfigurationPrice_SupplierDetails",
            "description" : "The room we want to book"
          }
        },
        "required" : [ "notification", "query", "room" ]
      },
      "BookingUser_SupplierDetails" : {
        "type" : "object",
        "description" : "Guest or traveller identity information collected at booking time, capturing the required contact fields for confirmation, check-in, and communication",
        "example" : {
          "email" : "reservations@thesiamresidences.com",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "lastName" : "Beaumont",
          "telephone" : "+1 212 555 1212",
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Email",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name",
            "example" : "Alexandra",
            "minLength" : 1
          },
          "fullName" : {
            "type" : "string",
            "description" : "Full name",
            "example" : "Alexandra Beaumont",
            "readOnly" : true
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name",
            "example" : "Beaumont",
            "minLength" : 1
          },
          "telephone" : {
            "type" : "string",
            "description" : "Telephone",
            "example" : "+1 212 555 1212",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "User identifier",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          }
        },
        "required" : [ "email", "firstName", "lastName" ]
      },
      "AcquiringFeeCapture_SupplierDetails" : {
        "type" : "object",
        "description" : "Audit record of a Stripe acquiring-fee read: the charge, its balance transaction, the whole charge's fee, and how many bookings that fee was split across.",
        "example" : {
          "apportionedAcross" : 3,
          "balanceTransactionIdentifier" : "txn_abc123",
          "capturedDate" : "2026-09-11T03:07:58.742",
          "chargeFee" : 450.0,
          "chargeIdentifier" : "ch_abc123",
          "source" : "WEBHOOK"
        },
        "properties" : {
          "apportionedAcross" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How many bookings the charge fee was apportioned across. 1 for a single-room checkout.",
            "example" : 3
          },
          "balanceTransactionIdentifier" : {
            "type" : "string",
            "description" : "Stripe balance transaction that carried the fee. Null only for a MANUAL capture.",
            "example" : "txn_abc123"
          },
          "capturedDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the fee was read from Stripe.",
            "example" : "2026-09-11T03:07:58.742"
          },
          "chargeFee" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "The WHOLE charge's acquiring fee, in the charge's settlement currency, before apportioning. Identical on every booking sharing the charge.",
            "example" : 450.0
          },
          "chargeIdentifier" : {
            "type" : "string",
            "description" : "Stripe charge the fee was read from.",
            "example" : "ch_abc123"
          },
          "source" : {
            "type" : "string",
            "description" : "Which mechanism performed the read.",
            "enum" : [ "WEBHOOK", "INLINE_SETTLE", "CHARGE_UPDATED", "RECONCILIATION", "MANUAL" ],
            "example" : "WEBHOOK"
          }
        },
        "required" : [ "apportionedAcross", "capturedDate", "chargeFee", "chargeIdentifier", "source" ]
      },
      "BookingAncillary_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "attendees" : 2,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "endDate" : "2017-12-22T08:07:58.742+0000",
          "financialBreakdown" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "displayPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "internalPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            }
          },
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
          "imageIdentifier" : "cloudinary-image-1",
          "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
          "localizedDescription" : "place-1",
          "localizedName" : "Plass 1",
          "name" : "Thai Massage Spa Treatment",
          "price" : {
            "internalBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalChannelModifier" : -10,
            "internalPremiumModifier" : 40,
            "internalPromotionalModifier" : -40,
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "quantity" : 1,
            "sourceBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceChannelModifier" : -10,
            "sourcePremiumModifier" : 40,
            "sourcePromotionalModifier" : -40,
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyChannelModifier" : -10,
            "userSpecifiedCurrencyPremiumModifier" : 40,
            "userSpecifiedCurrencyPromotionalModifier" : -40,
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "pricingType" : "PER_USE",
          "startDate" : "2017-12-22T03:07:58.742+0000",
          "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
          "type" : "ADD_ON",
          "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_SupplierDetails",
            "description" : "Travel blocking address (if applicable)"
          },
          "attendees" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of guests that are part of this reservation.",
            "example" : 2
          },
          "commission" : {
            "type" : "number",
            "format" : "float"
          },
          "commissionable" : {
            "type" : "boolean"
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_SupplierDetails",
            "description" : "Travel blocking contact (if applicable)"
          },
          "endDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).",
            "example" : "2017-12-22T08:07:58.742+0000"
          },
          "financialBreakdown" : {
            "$ref" : "#/components/schemas/FinancialBreakdown_SupplierDetails"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Ancillary identifier",
            "example" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "minLength" : 1
          },
          "imageIdentifier" : {
            "type" : "string",
            "description" : "Cloudinary image identifier",
            "example" : "cloudinary-image-1",
            "minLength" : 1
          },
          "imageUrl" : {
            "type" : "string",
            "description" : "Absolute URL to image of inventory",
            "example" : "https://path.to.image.com/this-is-me.jpg",
            "minLength" : 1
          },
          "localizedDescription" : {
            "type" : "string",
            "description" : "Description of travel inventory in traveler language (if available). Defaults to English.",
            "example" : "place-1",
            "minLength" : 1
          },
          "localizedName" : {
            "type" : "string",
            "description" : "Name of travel inventory in traveler language (if available). Defaults to English.",
            "example" : "Plass 1",
            "minLength" : 1
          },
          "mandatory" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of inventory",
            "example" : "Thai Massage Spa Treatment",
            "minLength" : 1
          },
          "price" : {
            "$ref" : "#/components/schemas/LocalizedPrice_SupplierDetails",
            "description" : "Pricing information for this ancillary."
          },
          "pricingType" : {
            "type" : "string",
            "description" : "Pricing type",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_USE"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).",
            "example" : "2017-12-22T03:07:58.742+0000"
          },
          "transactionalTravelInventoryIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Travel inventory identifier",
            "example" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Inventory type",
            "enum" : [ "ROOM_TYPE_ANCILLARY", "ADD_ON", "MEETING_ROOM", "SPA", "RESTAURANT", "ACTIVITY", "ATTRACTION", "PLACE" ],
            "example" : "ADD_ON"
          },
          "typeIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Travel inventory identifier",
            "example" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "minLength" : 1
          }
        },
        "required" : [ "address", "attendees", "commission", "commissionable", "contact", "hotelIdentifier", "identifier", "imageIdentifier", "imageUrl", "localizedDescription", "localizedName", "mandatory", "name", "price", "pricingType", "transactionalTravelInventoryIdentifier", "type", "typeIdentifier" ]
      },
      "BookingCancellation_SupplierDetails" : {
        "type" : "object",
        "description" : "Immutable cancellation details embedded in a booking, capturing who cancelled, when, the cancellation type, and the reason.",
        "example" : {
          "cancelReason" : "Guest changed travel plans",
          "cancellationType" : "FREE_CANCELLATION",
          "cancelledOn" : "2026-01-15T10:30:00Z",
          "cancellerType" : "TRAVELER",
          "cancellerUserIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
          "groupRefundNotified" : false
        },
        "properties" : {
          "cancelReason" : {
            "type" : "string",
            "description" : "Human-readable reason for cancellation.",
            "example" : "Guest changed travel plans"
          },
          "cancellationType" : {
            "type" : "string",
            "description" : "The cancellation policy type that was applied.",
            "enum" : [ "DUPLICATE", "CANCELLATION", "NO_SHOW", "CC_INVALID", "CC_INSUFFICIENT", "DISCRETIONARY" ],
            "example" : "FREE_CANCELLATION"
          },
          "cancelledOn" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the booking was cancelled.",
            "example" : "2026-01-15T10:30:00Z"
          },
          "cancellerType" : {
            "type" : "string",
            "description" : "Who cancelled the booking.",
            "enum" : [ "HOTEL", "GUEST", "ADMIN", "AGENT", "ACQUIRER", "SALES_CHANNEL", "SYSTEM" ],
            "example" : "TRAVELER"
          },
          "cancellerUserIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "User identifier of the person who cancelled.",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "groupRefundNotified" : {
            "type" : "boolean",
            "description" : "True when the traveler refund for this booking is notified once at the group level (a single aggregated trippay_payment_refund email). The Stripe refund-settlement webhook reads this to suppress the per-booking traveler refund email and avoid duplicates.",
            "example" : false
          }
        },
        "required" : [ "cancelledOn", "cancellerType" ]
      },
      "BookingDailyRateLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Booking-time snapshot of a single night's rate, capturing per-room and total figures in source, internal, and user-display currencies.",
        "example" : {
          "adults" : 2,
          "channelDiscountPercent" : 5.0,
          "children" : 0,
          "date" : "2026-07-14",
          "financialBreakdown" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "displayPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "internalPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            }
          },
          "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
          "internalBaseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "internalRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "isEndDate" : false,
          "isLastNight" : false,
          "isStartDate" : true,
          "offerDetails" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "premiumPercent" : 0.0,
          "promotionalDiscountPercent" : 10.0,
          "quantity" : 2,
          "rateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
          "ratePlanIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "rateSource" : "WINK",
          "sourceBaseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "sourceRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "sourceToInternalCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceToUserCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyBaseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "adults" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Adults staying.",
            "example" : 2
          },
          "channelDiscountPercent" : {
            "type" : "number",
            "description" : "Channel / membership discount percent applied to the night.",
            "example" : 5.0
          },
          "children" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Children staying.",
            "example" : 0
          },
          "date" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date this night's rate applies to.",
            "example" : "2026-07-14"
          },
          "endDate" : {
            "type" : "boolean"
          },
          "financialBreakdown" : {
            "$ref" : "#/components/schemas/FinancialBreakdown_SupplierDetails",
            "description" : "Per-night, quantity-scaled financial breakdown (beneficiary split)."
          },
          "guestRoomIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Guest room identifier this night was priced from.",
            "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
          },
          "internalBaseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Per-room base (rack) rate for the night in wink currency."
          },
          "internalRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Per-room net rate for the night in wink currency."
          },
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Net rate for the night across all rooms (per-room rate x quantity) in wink currency."
          },
          "isEndDate" : {
            "type" : "boolean",
            "description" : "Whether this night is the check-out date (not charged).",
            "example" : false
          },
          "isLastNight" : {
            "type" : "boolean",
            "description" : "Whether this night is the last charged night.",
            "example" : false
          },
          "isStartDate" : {
            "type" : "boolean",
            "description" : "Whether this night is the check-in date.",
            "example" : true
          },
          "lastNight" : {
            "type" : "boolean"
          },
          "offerDetails" : {
            "type" : "array",
            "description" : "Localized descriptions of the discounts / offers applied to the night.",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_SupplierDetails"
            }
          },
          "premiumPercent" : {
            "type" : "number",
            "description" : "Premium percent applied to the night.",
            "example" : 0.0
          },
          "promotionalDiscountPercent" : {
            "type" : "number",
            "description" : "Promotional discount percent applied to the night.",
            "example" : 10.0
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of identical rooms booked of this type.",
            "example" : 2
          },
          "rateIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Source daily rate identifier.",
            "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
          },
          "ratePlanIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Rate plan identifier this night was priced from.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
          },
          "rateSource" : {
            "type" : "string",
            "description" : "Origin of the rate (WINK, EXELY, etc.).",
            "example" : "WINK"
          },
          "sourceBaseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Per-room base (rack) rate for the night in hotel currency."
          },
          "sourceRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Per-room net rate for the night in hotel currency."
          },
          "sourceToInternalCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails",
            "description" : "Hotel to wink currency exchange rate for the night."
          },
          "sourceToUserCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails",
            "description" : "Hotel to user currency exchange rate for the night."
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Net rate for the night across all rooms (per-room rate x quantity) in hotel currency."
          },
          "startDate" : {
            "type" : "boolean"
          },
          "userSpecifiedCurrencyBaseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Per-room base (rack) rate for the night in user specified currency."
          },
          "userSpecifiedCurrencyRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Per-room net rate for the night in user specified currency."
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Net rate for the night across all rooms (per-room rate x quantity) in user specified currency."
          }
        }
      },
      "BookingItineraryRoomConfigurationChild_SupplierDetails" : {
        "type" : "object",
        "description" : "Child configuration",
        "example" : {
          "age" : 8,
          "quantity" : 2
        },
        "properties" : {
          "age" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Age of children",
            "example" : 8
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of children",
            "example" : 2
          }
        }
      },
      "BookingItineraryRoomConfiguration_SupplierDetails" : {
        "type" : "object",
        "description" : "Room Configuration",
        "example" : {
          "adults" : 2,
          "children" : [ {
            "age" : 8,
            "quantity" : 2
          } ]
        },
        "properties" : {
          "adults" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of adults",
            "example" : 2
          },
          "children" : {
            "type" : "array",
            "description" : "Children configurations",
            "items" : {
              "$ref" : "#/components/schemas/BookingItineraryRoomConfigurationChild_SupplierDetails"
            }
          }
        },
        "required" : [ "adults" ]
      },
      "BookingItinerary_SupplierDetails" : {
        "type" : "object",
        "description" : "BookingItinerary",
        "example" : {
          "endDate" : "2024-01-02",
          "items" : [ {
            "adults" : 2,
            "children" : [ {
              "age" : 8,
              "quantity" : 2
            } ]
          } ],
          "nights" : 7,
          "startDate" : "2024-01-01"
        },
        "properties" : {
          "children" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How many total children for this stay"
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Optional end date. If endDate is empty, nights needs to be present. If both are present, nights will take precedence.",
            "example" : "2024-01-02"
          },
          "guests" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How many total guests for this stay"
          },
          "hours" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Number of hours between start and end dates. Used for itineraries that require bookings that occur within hours and not days. E.g. Meeting room reservation.",
            "readOnly" : true
          },
          "items" : {
            "type" : "array",
            "description" : "Room configurations",
            "items" : {
              "$ref" : "#/components/schemas/BookingItineraryRoomConfiguration_SupplierDetails"
            }
          },
          "nights" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Optional number of nights. If nights is empty, endDate needs to be present. If both are present, nights will take precedence.",
            "example" : 7
          },
          "rooms" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How many total rooms for this stay"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start date of itinerary",
            "example" : "2024-01-01"
          }
        },
        "required" : [ "startDate" ]
      },
      "BookingLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight, read-only projection of a booking, used by cross-domain consumers (channel managers, caldav, reporting, accounting, email templating, analytics) and every booking-web/booking-mcp surface.",
        "example" : {
          "acquiringFee" : {
            "internalAmount" : 450.0,
            "shareNotStated" : false,
            "sourceAmount" : 450.0,
            "state" : "CAPTURED"
          },
          "activities" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "addOns" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "ancillaryList" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "attractions" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "beneficiaryList" : [ {
            "accountEmail" : "reservations@thesiamresidences.com",
            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "accountName" : "The Siam Residences, Bangkok",
            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
            "amountDue" : {
              "percent" : 0.05
            },
            "displayAmount" : 450.0,
            "displayAmountRefundModifier" : 45.0,
            "displayCurrency" : "USD",
            "internalAmount" : 450.0,
            "internalAmountRefundModifier" : 45.0,
            "internalCurrency" : "USD",
            "netDisplayAmount" : 450.0,
            "netInternalAmount" : 450.0,
            "netSourceAmount" : 450.0,
            "pendingRefunds" : [ {
              "displayAmountRefundModifier" : 45.0,
              "internalAmountRefundModifier" : 45.0,
              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
              "sourceAmountRefundModifier" : 45.0
            } ],
            "reconciled" : false,
            "sourceAmount" : 450.0,
            "sourceAmountRefundModifier" : 45.0,
            "sourceCurrency" : "THB"
          } ],
          "booker" : {
            "email" : "reservations@thesiamresidences.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "telephone" : "+1 212 555 1212",
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "cancellation" : {
            "cancelReason" : "Guest changed travel plans",
            "cancellationType" : "FREE_CANCELLATION",
            "cancelledOn" : "2026-01-15T10:30:00Z",
            "cancellerType" : "TRAVELER",
            "cancellerUserIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "groupRefundNotified" : false
          },
          "commissionableSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "customization" : {
            "appendToPageTitle" : "Hotels with Benefits",
            "cardDesign" : "DEFAULT",
            "cardLayout" : "VERTICAL",
            "city" : {
              "admin1Code" : "40",
              "admin2Code" : "2401",
              "admin3Code" : "",
              "admin4Code" : "",
              "alternateCountryCodes" : [ ],
              "alternateNames" : [ "Krung Thep", "BKK" ],
              "asciiName" : "Bangkok",
              "country" : {
                "area" : 514000.0,
                "capital" : "Bangkok",
                "continent" : "AS",
                "currencyCode" : "THB",
                "currencyName" : "Baht",
                "fips" : "TH",
                "geoNameId" : "1605651",
                "iso" : "TH",
                "iso3" : "THA",
                "isoNumeric" : 764,
                "languages" : [ "th" ],
                "name" : "Thailand",
                "neighbors" : [ "LA", "MM", "KH", "MY" ],
                "phone" : "66",
                "population" : 69428524,
                "postalCodeFormat" : "#####",
                "postalCodeRegEx" : "^(\\d{5})$",
                "topLevelDomain" : ".th"
              },
              "countryCode" : "TH",
              "digitalElevationModel" : "3",
              "elevation" : 5,
              "featureClass" : "P",
              "featureCode" : "PPLC",
              "geoNameId" : "1609350",
              "location" : {
                "coordinates" : [ 100.5581533, 13.7370197 ],
                "type" : "POINT"
              },
              "modificationDate" : "2023-06-15",
              "name" : "Bangkok",
              "population" : 10539415,
              "radiusInMeters" : 50000,
              "subCountry" : {
                "asciiName" : "Bangkok",
                "code" : "TH.40",
                "countryCode" : "TH",
                "geoNameId" : "1609350",
                "name" : "Bangkok",
                "subCountryCode" : "40"
              },
              "subSubCountry" : {
                "asciiName" : "Bangkok District",
                "code" : "TH.40.2401",
                "countryCode" : "TH",
                "geoNameId" : "1609352",
                "name" : "Bangkok District",
                "subCountryCode" : "40",
                "subSubCountryCode" : "2401"
              },
              "timezone" : "Asia/Bangkok",
              "type" : "CITY",
              "urlName" : "bangkok-thailand"
            },
            "createdDate" : "2026-01-14T09:30:00",
            "defaultCurrency" : "THB",
            "defaultLanguage" : "en",
            "defaultLifestyle" : "LIFESTYLE_HEALTH_FITNESS",
            "endDate" : "2026-07-22",
            "googleAnalyticsMeasurementId" : "G-ABCDEF1234",
            "googleMapsAPIKey" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6",
            "googleTagManagerContainerId" : "GTM-XXXXX",
            "hostedBookingEngineUrl" : "https://book.thesiamresidences.com/reservations",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "layout" : "INFORMATIONAL",
            "logos" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "Luxury Travel Portal",
            "numberOfAdvanceDays" : 7,
            "numberOfStayDays" : 3,
            "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "ownerName" : "Premium Hotels International",
            "primary" : true,
            "roomConfiguration" : {
              "adults" : 2,
              "children" : [ {
                "age" : 7,
                "quantity" : 2
              } ],
              "quantity" : 2
            },
            "selfHosted" : true,
            "sendBookingNotificationEmailsToBooker" : true,
            "sendBookingNotificationEmailsToChannelManager" : true,
            "sendBookingNotificationEmailsToProperty" : true,
            "showRankings" : true,
            "showSearch" : true,
            "showUnavailableCard" : false,
            "startDate" : "2026-07-15",
            "subType" : "APPLICATION",
            "themeColors" : {
              "body" : "#212529",
              "danger" : "#dc3545",
              "dark" : "#343a40",
              "info" : "#17a2b8",
              "light" : "#f8f9fa",
              "muted" : "#6c757d",
              "primary" : "#dc3545",
              "secondary" : "#6c757d",
              "success" : "#28a745",
              "warning" : "#ffc107",
              "white" : "#ffffff"
            },
            "trackingPixels" : [ {
              "accessToken" : "EAABsbCS0kB4BAAI...",
              "consentCategory" : "MARKETING",
              "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
              "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
              "enabled" : true,
              "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
              "name" : "Facebook Conversion Pixel",
              "pixelId" : "1234567890",
              "provider" : "FACEBOOK",
              "triggers" : [ {
                "eventType" : "PURCHASE",
                "parameters" : [ {
                  "key" : "currency",
                  "value" : "USD"
                } ]
              } ],
              "type" : "JAVASCRIPT"
            } ],
            "useDays" : true,
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "version" : 3,
            "wcBookClickAction" : "IBE_MODAL"
          },
          "earlyCheckInCharge" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "feeModel" : "FIXED_PROCESSING_FEE",
          "financialBreakdown" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "displayPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "internalPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            }
          },
          "fundsAddedToLedger" : false,
          "fundsProcessed" : false,
          "guestUser" : {
            "email" : "reservations@thesiamresidences.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "profile" : {
              "createdDate" : "2026-01-14T09:30:00",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "personal" : {
                "address1" : "123 Petchburi Road",
                "address2" : "Ratchathewi District",
                "birthDate" : "1985-06-15",
                "childQuantity" : 2,
                "citizenship" : "Thailand",
                "city" : "Bangkok",
                "contactPerson" : [ {
                  "email" : "johnsmith@email.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phoneNumber" : "+12125551212",
                  "secondaryEmail" : "johnsmith2@email.com",
                  "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                } ],
                "country" : "TH",
                "gender" : "FEMALE",
                "language" : "en",
                "maritalStatus" : "MARRIED",
                "petInfo" : [ {
                  "name" : "Luna",
                  "type" : "Golden Retriever"
                } ],
                "postalCode" : "10400",
                "preferredCurrency" : "USD",
                "state" : "Bangkok"
              },
              "preferences" : {
                "bedTypePref" : "King bed",
                "cuisinePref" : "Thai",
                "foodSrvcPref" : "In-room dining",
                "guestType" : "Business traveler",
                "hotelChainPref" : "Mandarin Oriental",
                "mealPref" : "Continental breakfast",
                "physChalFeaturePref" : "Wheelchair accessible rooms",
                "propertyLocationPref" : "Beachfront",
                "propertyTypePref" : "Luxury Resort",
                "roomLocationPref" : "High floor with city view",
                "smokingAllowed" : false
              },
              "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "share" : true,
              "user" : {
                "email" : "alexandra@beaumont.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phone" : "+66212658866",
                "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
              },
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
              "version" : 3
            },
            "telephone" : "+1 212 555 1212",
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "hotel" : {
            "activities" : 3,
            "addOns" : 5,
            "address" : {
              "city" : "Bangkok",
              "countryCode" : "TH",
              "line1" : "3/2 Khao Road",
              "postalCode" : "10300",
              "state" : "Bangkok"
            },
            "aggregateGreendexRating" : 7.0,
            "aggregateReviewRating" : 8.7,
            "architecturalStyle" : "7",
            "attractions" : 5,
            "available" : true,
            "bookings" : 6054,
            "brand" : "The Siam Residences",
            "chain" : "The Siam Collection",
            "currencyCode" : "THB",
            "descriptions" : [ {
              "description" : "An elegant riverside sanctuary in the heart of Bangkok.",
              "language" : "en",
              "title" : "Luxury Riverside Retreat"
            } ],
            "hotelAmenityCodes" : [ "1", "7" ],
            "hotelCategory" : "45",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "images" : [ {
              "identifier" : "the-siam-residences/lobby-entrance",
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "type" : "IMAGE"
            } ],
            "lifestyleTypes" : [ "LIFESTYLE_HEALTH_FITNESS" ],
            "localName" : "เดอะสยาม เรสซิเดนซ์",
            "location" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "Point"
            },
            "locationCategory" : "34",
            "meetingRooms" : 2,
            "name" : "The Siam Residences, Bangkok",
            "numberOfRooms" : 32,
            "places" : 9,
            "propertyAccessibilityCodes" : [ "1" ],
            "propertySecurityCodes" : [ "7" ],
            "reservations" : {
              "email" : "reservations@thesiamresidences.com",
              "firstName" : "Somchai",
              "lastName" : "Phattanapong",
              "phone" : "+66-2-123-4567"
            },
            "restaurants" : 2,
            "score" : 70,
            "segmentCategory" : "7",
            "socials" : [ {
              "handle" : "thesiamresidences",
              "platform" : "INSTAGRAM"
            } ],
            "spas" : 1,
            "starRating" : 5,
            "thirdPartyReviews" : [ ],
            "totalReviews" : 989,
            "uniqueId" : "siam-residences-bkk",
            "urlName" : "the-siam-residences-bangkok-thailand",
            "videos" : [ ],
            "whenBuilt" : "1927"
          },
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lateCheckOutCharge" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "meetingRooms" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "netTotalFeesAndCommissionsSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "netTotalSalesSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "netTotalSalesSourceAmountOrZero" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "paymentDetails" : {
            "acquiringFeeCapture" : {
              "apportionedAcross" : 3,
              "balanceTransactionIdentifier" : "txn_abc123",
              "capturedDate" : "2026-09-11T03:07:58.742",
              "chargeFee" : 450.0,
              "chargeIdentifier" : "ch_abc123",
              "source" : "WEBHOOK"
            },
            "acquiringFeeState" : "CAPTURED",
            "agentInvoiceIdentifier" : "invoice-1",
            "agentInvoicedDate" : "2017-12-22T03:07:58.742+0000",
            "chargeIdentifier" : "ch_abc123",
            "customerIdentifier" : "cus_abc123",
            "fees" : [ {
              "description" : "Fee charged for booking confirmation",
              "fee" : 450.0,
              "identifier" : "ABC1234",
              "type" : "BOOKING"
            } ],
            "selfAcquires" : false,
            "selfDisburses" : false,
            "sessionIdentifier" : "s_abc123",
            "transactionIdentifier" : "pi_3abc123",
            "vendor" : "STRIPE"
          },
          "payoutList" : [ {
            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "accountName" : "Hotel Sunrise",
            "beneficiaryType" : "SALE",
            "displayAmount" : 12.75,
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "internalAmount" : 12.75,
            "processedDate" : "2026-01-15T10:30:00Z",
            "sourceAmount" : 450.0,
            "status" : "COMPLETED",
            "withdrawalId" : "tr_abc123"
          } ],
          "places" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "refund" : {
            "cancelOnRefund" : "NONE",
            "createdDate" : "2026-01-15T10:30:00Z",
            "description" : "Guest requested cancellation",
            "displayAmount" : 12.75,
            "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "internalAmount" : 12.75,
            "processedDate" : "2026-01-15T10:30:00Z",
            "reason" : "REQUESTED_BY_CUSTOMER",
            "receiptUrl" : "https://pay.stripe.com/receipts/abc123",
            "requestor" : "BY_ADMIN",
            "response" : "Approved — refunding 50% per policy.",
            "sourceAmount" : 450.0,
            "status" : "SUCCEEDED",
            "stripeRefundFee" : 0.5,
            "stripeRefundId" : "re_abc123"
          },
          "refundFee" : {
            "internalAmount" : 450.0,
            "shareNotStated" : false,
            "sourceAmount" : 450.0,
            "state" : "CAPTURED"
          },
          "reportingAncillaryList" : [ {
            "currency" : "USD",
            "grossAmount" : 450.0,
            "name" : "Thai Massage",
            "netAmount" : 405.0,
            "netAmountWithRefund" : 405.0
          } ],
          "reportingDailyRateList" : [ {
            "baseAmount" : 450.0,
            "currency" : "USD",
            "date" : "2026-01-15",
            "grossAmount" : 405.0,
            "netAmount" : 360.0,
            "netAmountWithRefund" : 360.0
          } ],
          "reportingExtraChargeList" : [ {
            "currency" : "USD",
            "description" : "The charge is 50.00 USD and is charged per day.",
            "grossAmount" : 450.0,
            "name" : "Late checkout fee",
            "netAmount" : 405.0,
            "netAmountWithRefund" : 405.0
          } ],
          "restaurants" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "review" : {
            "answers" : [ {
              "category" : "SERVICE",
              "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
              "sort" : 1,
              "value" : 7
            } ],
            "approvedImage" : false,
            "approvedText" : true,
            "averageScore" : 8.7,
            "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
            "createdDate" : "2026-01-14T09:30:00",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
            "lastUpdate" : "2026-02-03T16:45:12",
            "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
            "responded" : false,
            "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
            "reviewDate" : "2026-01-14T09:30:00",
            "roomNumber" : "501",
            "roomRating" : 9,
            "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
            "user" : {
              "email" : "reservations@thesiamresidences.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "telephone" : "+66 2 126 8866",
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
            },
            "version" : 3
          },
          "roomStay" : {
            "activeCancellationPolicy" : {
              "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
              "createdDate" : "2026-01-14T09:30:00",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
              "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
              "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
              "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
              "refundable" : false,
              "refundableCancellationCharge" : "FIFTY_PERCENT",
              "version" : 3
            },
            "adults" : 2,
            "ancillaryList" : [ {
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "attendees" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "endDate" : "2017-12-22T08:07:58.742+0000",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "imageIdentifier" : "cloudinary-image-1",
              "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
              "localizedDescription" : "place-1",
              "localizedName" : "Plass 1",
              "name" : "Thai Massage Spa Treatment",
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "pricingType" : "PER_USE",
              "startDate" : "2017-12-22T03:07:58.742+0000",
              "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "type" : "ADD_ON",
              "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
            } ],
            "bedroomConfiguration" : {
              "bedroomList" : [ {
                "bedList" : [ {
                  "bedTypeCode" : "1",
                  "quantity" : 2
                } ],
                "type" : "MASTER"
              } ],
              "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "name" : "Master Suite Layout"
            },
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "children" : 0,
            "endDate" : "2025-12-27",
            "extraCharges" : {
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "items" : [ {
                "price" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                },
                "ratePlanLevelFee" : {
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "fixedAmount" : 450.0,
                  "type" : "PER_DAY"
                },
                "unitPrice" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                }
              } ],
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "guestUser" : {
              "email" : "reservations@thesiamresidences.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "profile" : {
                "createdDate" : "2026-01-14T09:30:00",
                "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "lastUpdate" : "2026-02-03T16:45:12",
                "personal" : {
                  "address1" : "123 Petchburi Road",
                  "address2" : "Ratchathewi District",
                  "birthDate" : "1985-06-15",
                  "childQuantity" : 2,
                  "citizenship" : "Thailand",
                  "city" : "Bangkok",
                  "contactPerson" : [ {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  } ],
                  "country" : "TH",
                  "gender" : "FEMALE",
                  "language" : "en",
                  "maritalStatus" : "MARRIED",
                  "petInfo" : [ {
                    "name" : "Luna",
                    "type" : "Golden Retriever"
                  } ],
                  "postalCode" : "10400",
                  "preferredCurrency" : "USD",
                  "state" : "Bangkok"
                },
                "preferences" : {
                  "bedTypePref" : "King bed",
                  "cuisinePref" : "Thai",
                  "foodSrvcPref" : "In-room dining",
                  "guestType" : "Business traveler",
                  "hotelChainPref" : "Mandarin Oriental",
                  "mealPref" : "Continental breakfast",
                  "physChalFeaturePref" : "Wheelchair accessible rooms",
                  "propertyLocationPref" : "Beachfront",
                  "propertyTypePref" : "Luxury Resort",
                  "roomLocationPref" : "High floor with city view",
                  "smokingAllowed" : false
                },
                "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "share" : true,
                "user" : {
                  "email" : "alexandra@beaumont.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phone" : "+66212658866",
                  "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                },
                "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                "version" : 3
              },
              "telephone" : "+1 212 555 1212",
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
            },
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "perkTypes" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
            "price" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "list" : [ {
                "adults" : 2,
                "channelDiscountPercent" : 5.0,
                "children" : 0,
                "date" : "2026-07-14",
                "financialBreakdown" : {
                  "beneficiaryList" : [ {
                    "accountEmail" : "reservations@thesiamresidences.com",
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "The Siam Residences, Bangkok",
                    "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                    "amountDue" : {
                      "percent" : 0.05
                    },
                    "displayAmount" : 450.0,
                    "displayAmountRefundModifier" : 45.0,
                    "displayCurrency" : "USD",
                    "internalAmount" : 450.0,
                    "internalAmountRefundModifier" : 45.0,
                    "internalCurrency" : "USD",
                    "netDisplayAmount" : 450.0,
                    "netInternalAmount" : 450.0,
                    "netSourceAmount" : 450.0,
                    "pendingRefunds" : [ {
                      "displayAmountRefundModifier" : 45.0,
                      "internalAmountRefundModifier" : 45.0,
                      "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                      "sourceAmountRefundModifier" : 45.0
                    } ],
                    "reconciled" : false,
                    "sourceAmount" : 450.0,
                    "sourceAmountRefundModifier" : 45.0,
                    "sourceCurrency" : "THB"
                  } ],
                  "displayPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "internalPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  }
                },
                "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
                "internalBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "isEndDate" : false,
                "isLastNight" : false,
                "isStartDate" : true,
                "offerDetails" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "premiumPercent" : 0.0,
                "promotionalDiscountPercent" : 10.0,
                "quantity" : 2,
                "rateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
                "ratePlanIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "rateSource" : "WINK",
                "sourceBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              } ],
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "quantity" : 2,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "quantity" : 1,
            "ratePlan" : {
              "allInclusive" : false,
              "allInclusivePlusAlcohol" : false,
              "breakfast" : false,
              "brunch" : false,
              "dinner" : false,
              "earlyCheckInCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "lateCheckOutCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "lunch" : false,
              "name" : "BAR 1"
            },
            "room" : {
              "active" : true,
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "baseRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "bathroomCount" : 0,
              "bedroomConfigurationList" : [ {
                "bedroomList" : [ {
                  "bedList" : [ {
                    "bedTypeCode" : "1",
                    "quantity" : 2
                  } ],
                  "type" : "MASTER"
                } ],
                "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "name" : "Master Suite Layout"
              } ],
              "bookable" : true,
              "commissionable" : true,
              "composite" : false,
              "compositeCount" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "createdDate" : "2026-01-14T09:30:00",
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "featuredInd" : false,
              "floor" : "3",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "includedAdultOccupancy" : 2,
              "includedChildOccupancy" : 0,
              "lastUpdate" : "2026-02-03T16:45:12",
              "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
              "livingRoomCount" : 0,
              "location" : {
                "coordinates" : [ 100.5581533, 13.7370197 ],
                "type" : "POINT"
              },
              "maxAdultOccupancy" : 1,
              "maxChildOccupancy" : 0,
              "maxCribs" : 1,
              "maxOccupancy" : 2,
              "maxRollaways" : 0,
              "minAgeAppropriateCode" : "1",
              "minOccupancy" : 1,
              "minRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "Archery lesson",
              "nonSmoking" : true,
              "pricePoint" : "THREE",
              "proximityCode" : "1",
              "publishStatus" : "PUBLISHED",
              "quantity" : 40,
              "recognitionList" : [ {
                "category" : "AWARD",
                "date" : "2026-01-14",
                "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "maxRating" : 10.0,
                "officialAppointmentInd" : true,
                "provider" : "Michelin",
                "rating" : 8.5,
                "ratingSymbol" : "*",
                "type" : "PERCENT_RATING"
              } ],
              "roomArchitectureCode" : "1",
              "roomCategory" : "1",
              "roomClassificationCode" : "1",
              "roomGender" : "Female",
              "roomLocationCode" : "1",
              "roomViewCode" : "1",
              "sharedRoomInd" : false,
              "size" : 55,
              "socials" : [ {
                "location" : "https://www.instagram.com/thesiamresidences",
                "type" : "INSTAGRAM"
              } ],
              "sort" : 1,
              "transactionalInventoryList" : [ {
                "basePrice" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                } ],
                "discountedPrice" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "maxPax" : 10,
                "minPax" : 2,
                "multimedias" : [ {
                  "angle" : null,
                  "attribution" : [ ],
                  "category" : "2",
                  "descriptions" : [ {
                    "description" : "Elegant lobby of The Siam Residences",
                    "language" : "en",
                    "title" : "Lobby Entrance"
                  } ],
                  "height" : 1600,
                  "identifier" : "the-siam-residences/lobby-entrance",
                  "isLandscape" : true,
                  "lifestyleType" : null,
                  "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "published" : true,
                  "sort" : 10,
                  "source" : "CLOUDINARY",
                  "type" : "IMAGE",
                  "width" : 2560
                } ],
                "name" : "1 hour session",
                "percentDiscount" : 0.1,
                "percentPremium" : 0.1,
                "pricingType" : "PER_NIGHT"
              } ],
              "version" : 3
            },
            "roomImageUrl" : "https://path.to/room-image.jpg",
            "roomRateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
            "roomRateInternalName" : "Master Rate 1",
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "startDate" : "2025-12-24",
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "roomTypeAncillaries" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "spas" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "statusHistory" : [ {
            "actor" : "stripe-webhook",
            "fromStatus" : "PENDING",
            "reason" : "Payment confirmed by Stripe",
            "timestamp" : "2026-01-15T10:30:00Z",
            "toStatus" : "CONFIRMED"
          } ],
          "totalAffiliateAgencyFeesSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "totalPaymentProcessingFeeSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "totalPlatformFeeSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "totalSalesSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "totalSupplierAgencyFeesSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSession" : {
            "currency" : "USD",
            "itinerary" : {
              "endDate" : "2024-01-02",
              "items" : [ {
                "adults" : 2,
                "children" : [ {
                  "age" : 8,
                  "quantity" : 2
                } ]
              } ],
              "nights" : 7,
              "startDate" : "2024-01-01"
            },
            "language" : "en",
            "lifestyle" : "LUXURY",
            "promotionalCodes" : [ "promo-1" ],
            "selectedRoomConfigurationIndex" : 0
          },
          "version" : 3
        },
        "properties" : {
          "acquiringFee" : {
            "$ref" : "#/components/schemas/BookingPassThroughFee_SupplierDetails",
            "description" : "Stripe's actual acquiring cost for this booking's charge, passed through to the hotel. Present only under STRIPE_PASS_THROUGH; null for legacy and agent bookings. Under a multi-room checkout this is THIS booking's apportioned share, not the whole charge's fee."
          },
          "activities" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_SupplierDetails"
            }
          },
          "addOns" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_SupplierDetails"
            }
          },
          "agentPayment" : {
            "type" : "boolean"
          },
          "agentSelfManaged" : {
            "type" : "boolean"
          },
          "ancillaryList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_SupplierDetails"
            }
          },
          "attractions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_SupplierDetails"
            }
          },
          "beneficiaryList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Beneficiary_SupplierDetails"
            }
          },
          "booker" : {
            "$ref" : "#/components/schemas/BookingUser_SupplierDetails",
            "description" : "The user who made the booking (may be an agent, not the traveler — see getGuestUser())."
          },
          "bookingCode" : {
            "type" : "string",
            "description" : "User-friendly booking confirmation code."
          },
          "bookingContractIdentifier" : {
            "type" : "string"
          },
          "bookingStatus" : {
            "type" : "string",
            "description" : "Booking lifecycle status.",
            "enum" : [ "INITIALIZED", "TEST_PAYMENT_SUCCEEDED", "PAYMENT_SUCCEEDED", "PAYMENT_FAILED", "FAILED", "CANCELLED", "PARTIALLY_REFUNDED", "FULLY_REFUNDED" ]
          },
          "cancelReason" : {
            "type" : "string"
          },
          "cancellable" : {
            "type" : "boolean",
            "description" : "Whether the booking can still be voluntarily cancelled (no later than the arrival day)."
          },
          "cancellation" : {
            "$ref" : "#/components/schemas/BookingCancellation_SupplierDetails",
            "description" : "Cancellation details, present only when the booking is cancelled."
          },
          "cancellationType" : {
            "type" : "string",
            "description" : "Reason category for a booking cancellation",
            "enum" : [ "DUPLICATE", "CANCELLATION", "NO_SHOW", "CC_INVALID", "CC_INSUFFICIENT", "DISCRETIONARY" ]
          },
          "cancelled" : {
            "type" : "boolean"
          },
          "cancelledOn" : {
            "type" : "string",
            "format" : "date-time"
          },
          "comment" : {
            "type" : "string",
            "description" : "Free-form comment, used internally and by some channel managers."
          },
          "commissionableSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "creation" : {
            "type" : "string",
            "description" : "The kind of booking (normal, test, etc.) — used to derive rate source.",
            "enum" : [ "NORMAL", "TEST", "FAILED" ]
          },
          "customization" : {
            "$ref" : "#/components/schemas/CustomizationLightweight_SupplierDetails",
            "description" : "The customization/branding context this booking was made under."
          },
          "detailedAdditionalChargesSourceTotals" : {
            "type" : "string",
            "description" : "Human-readable summary of additional charges, pre-computed from the raw entity's derived getter."
          },
          "displayCurrency" : {
            "type" : "string"
          },
          "earlyCheckInCharge" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Fixed fee for early check-in, if applicable."
          },
          "earlyCheckInChargePercent" : {
            "type" : "number",
            "format" : "float",
            "description" : "Percentage of first night charged for early check-in (alternative to fixed fee)."
          },
          "emailHeaderLogoUrl" : {
            "type" : "string",
            "description" : "Full URL of the property logo, optimized for emails."
          },
          "feeModel" : {
            "type" : "string",
            "description" : "Fee model this booking was priced under. Stamped at creation and never re-derived, so a booking keeps the model it was quoted with after the platform-wide flag flips. Do not infer it from a zero processing fee -- self-acquiring agent bookings are also zero and are FIXED_PROCESSING_FEE.",
            "enum" : [ "FIXED_PROCESSING_FEE", "STRIPE_PASS_THROUGH" ],
            "example" : "FIXED_PROCESSING_FEE"
          },
          "financialBreakdown" : {
            "$ref" : "#/components/schemas/FinancialBreakdown_SupplierDetails",
            "description" : "Full financial breakdown (beneficiaries, per-type amounts, currencies)."
          },
          "fundsAddedToLedger" : {
            "type" : "boolean",
            "description" : "Whether funds have been recorded in the supplier's ledger.",
            "example" : false
          },
          "fundsAvailableDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Date the booking's funds become available to the supplier."
          },
          "fundsProcessed" : {
            "type" : "boolean",
            "description" : "Whether all funds have been processed for this booking.",
            "example" : false
          },
          "grossSourceAmount" : {
            "type" : "number"
          },
          "groupIdentifier" : {
            "type" : "string",
            "description" : "UUID grouping multiple bookings made together in a single multi-room transaction."
          },
          "guestUser" : {
            "$ref" : "#/components/schemas/GuestUser_SupplierDetails"
          },
          "hasAdditionalCharges" : {
            "type" : "boolean",
            "description" : "Whether this booking has rate-plan-level extra charges."
          },
          "hasRefunds" : {
            "type" : "boolean"
          },
          "hotel" : {
            "$ref" : "#/components/schemas/PropertyAggregateLightweight_SupplierDetails",
            "description" : "The property this booking belongs to."
          },
          "hotelImageUrl" : {
            "type" : "string",
            "description" : "Absolute URL of the property's featured image."
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lateCheckOutCharge" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Fixed fee for late checkout, if applicable."
          },
          "lateCheckOutChargePercent" : {
            "type" : "number",
            "format" : "float",
            "description" : "Percentage of first night charged for late checkout (alternative to fixed fee)."
          },
          "logoIdentifier" : {
            "type" : "string",
            "description" : "Cloudinary identifier for the property logo, for potential reuse."
          },
          "meetingRooms" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_SupplierDetails"
            }
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Place to store related data."
          },
          "netDisplayAmount" : {
            "type" : "number"
          },
          "netSourceAmount" : {
            "type" : "number",
            "description" : "Net amount in source currency from the financial breakdown; null when not resolvable."
          },
          "netSourceAmountOrZero" : {
            "type" : "number"
          },
          "netTotalFeesAndCommissionsSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Net total of platform/processing fees and commissions in source currency; null when not resolvable."
          },
          "netTotalSalesSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Net total sales amount in source currency, summed across SALE-type beneficiaries; null when not resolvable."
          },
          "netTotalSalesSourceAmountOrZero" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "originalAffiliateAgencyFeesInPercent" : {
            "type" : "number",
            "description" : "Original affiliate agency fee percentage at booking time."
          },
          "originalCommissionsInPercent" : {
            "type" : "number",
            "description" : "Original commission percentage at booking time."
          },
          "originalFeesInPercent" : {
            "type" : "number",
            "description" : "Original platform fee percentage at booking time."
          },
          "originalSupplierAgencyFeesInPercent" : {
            "type" : "number",
            "description" : "Original supplier agency fee percentage at booking time."
          },
          "paymentDetails" : {
            "$ref" : "#/components/schemas/BookingPaymentDetails_SupplierDetails",
            "description" : "Payment vendor/transaction metadata (transaction identifier, self-acquiring/self-disbursing flags, vendor-specific data)."
          },
          "paymentTransactionIdentifier" : {
            "type" : "string"
          },
          "paymentType" : {
            "type" : "string",
            "description" : "How this booking was paid for (Stripe, agent, etc.).",
            "enum" : [ "STRIPE", "AGENT" ]
          },
          "paymentVendor" : {
            "type" : "string",
            "description" : "Third-party vendor integrated with the Wink platform for payment acquiring or disbursement",
            "enum" : [ "STRIPE", "AGENT", "REVOLUT", "TEST" ]
          },
          "paymentVendorSpecific" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Vendor-specific payment metadata (payment method type, wallet type, etc.)."
          },
          "payoutList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingPayout_SupplierDetails",
              "description" : "List of payouts disbursed to beneficiaries."
            }
          },
          "places" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_SupplierDetails"
            }
          },
          "rateSource" : {
            "type" : "string"
          },
          "refund" : {
            "$ref" : "#/components/schemas/BookingRefund_SupplierDetails",
            "description" : "Refund details, present only when a refund has been issued."
          },
          "refundFee" : {
            "$ref" : "#/components/schemas/BookingPassThroughFee_SupplierDetails",
            "description" : "Stripe's fee for sending this booking's refund, passed through to the hotel. Present only under STRIPE_PASS_THROUGH and only once a refund exists; null otherwise. Stripe does not return the original acquiring cost on a refund, so a refunded booking bears both."
          },
          "reportingAncillaryList" : {
            "type" : "array",
            "description" : "Per-ancillary reporting accounting details, pre-computed from the raw entity's derived getReportingAncillaryList().",
            "items" : {
              "$ref" : "#/components/schemas/ReportingAncillary_SupplierDetails"
            }
          },
          "reportingDailyRateList" : {
            "type" : "array",
            "description" : "Per-day reporting rate breakdown, pre-computed from the raw entity's derived getReportingDailyRateList().",
            "items" : {
              "$ref" : "#/components/schemas/ReportingDailyRate_SupplierDetails"
            }
          },
          "reportingExtraChargeList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ReportingExtraCharge_SupplierDetails",
              "description" : "Displays extra charge accounting details, pre-computed from the raw entity's derived getReportingExtraChargeList()."
            }
          },
          "restaurants" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_SupplierDetails"
            }
          },
          "review" : {
            "$ref" : "#/components/schemas/ReviewLightweight_SupplierDetails",
            "description" : "The guest's review of the stay, present only after the guest has submitted one."
          },
          "roomImageUrl" : {
            "type" : "string"
          },
          "roomStay" : {
            "$ref" : "#/components/schemas/BookingRoomStayLightweight_SupplierDetails",
            "description" : "Booking-time room stay snapshot (occupancy, dates, price, room/rate-plan)."
          },
          "roomTypeAncillaries" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_SupplierDetails"
            }
          },
          "selectedRoomConfigurationChildAges" : {
            "type" : "array",
            "description" : "Explicit per-child ages captured on the user's selected room configuration at booking time, when present (channel-manager-omnibees fallback data); empty when not present.",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          "serverUrl" : {
            "type" : "string",
            "description" : "The URL the booking occurred on."
          },
          "socials" : {
            "type" : "array",
            "description" : "List of all social network accounts the property has for the traveler to get in touch.",
            "items" : {
              "$ref" : "#/components/schemas/Social_SupplierDetails"
            }
          },
          "sourceCurrency" : {
            "type" : "string",
            "description" : "Source (supplier) currency code."
          },
          "spas" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_SupplierDetails"
            }
          },
          "specialRequests" : {
            "type" : "string",
            "description" : "Free-form special requests text."
          },
          "staticMapImageUrl" : {
            "type" : "string",
            "description" : "Google Maps static image URL for email display."
          },
          "staticMapUrl" : {
            "type" : "string",
            "description" : "Google Maps interactive URL for click-through."
          },
          "statusHistory" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingStatusTransition_SupplierDetails",
              "description" : "Audit trail of status transitions."
            }
          },
          "stripePaymentIntentId" : {
            "type" : "string",
            "description" : "Stripe PaymentIntent identifier for this booking's payment, when paid via Stripe."
          },
          "totalAffiliateAgencyFeesSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalCommissionsInPercent" : {
            "type" : "number",
            "description" : "Total commissions percentage."
          },
          "totalCommissionsInPercentWithRefund" : {
            "type" : "number",
            "description" : "Total commissions percentage, adjusted for any refund."
          },
          "totalFeesAndCommissionsInPercent" : {
            "type" : "number",
            "description" : "Total fees and commissions percentage."
          },
          "totalFeesAndCommissionsInPercentWithRefund" : {
            "type" : "number",
            "description" : "Total fees and commissions percentage, adjusted for any refund."
          },
          "totalFeesInPercent" : {
            "type" : "number",
            "description" : "Total platform + payment-processing fee percentage."
          },
          "totalFeesInPercentWithRefund" : {
            "type" : "number",
            "description" : "Total platform + payment-processing fee percentage, adjusted for any refund."
          },
          "totalPaymentProcessingFeeInPercent" : {
            "type" : "number",
            "description" : "Total payment-processing fee percentage."
          },
          "totalPaymentProcessingFeeInPercentWithRefund" : {
            "type" : "number",
            "description" : "Total payment-processing fee percentage, adjusted for any refund."
          },
          "totalPaymentProcessingFeeSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalPlatformFeeInPercent" : {
            "type" : "number",
            "description" : "Platform (Wink) fee percentage only, as a fraction of gross."
          },
          "totalPlatformFeeInPercentWithRefund" : {
            "type" : "number",
            "description" : "Total platform fee percentage, adjusted for any refund."
          },
          "totalPlatformFeeSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalSalesSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalSupplierAgencyFeesSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalTokensEarned" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total loyalty tokens earned for this booking."
          },
          "userSession" : {
            "$ref" : "#/components/schemas/BookingUserSession_SupplierDetails",
            "description" : "Device/location/referrer/itinerary snapshot captured at booking time."
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        }
      },
      "BookingPassThroughFee_SupplierDetails" : {
        "type" : "object",
        "description" : "A Stripe cost passed through to the hotel under the pass-through fee model: its capture state, the amount Stripe charged in the platform's internal currency, and that amount restated in the hotel's own currency at the booking's capture rate.",
        "example" : {
          "internalAmount" : 450.0,
          "shareNotStated" : false,
          "sourceAmount" : 450.0,
          "state" : "CAPTURED"
        },
        "properties" : {
          "capturedDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the fee was read from Stripe. Recorded for the acquiring fee only; the refund path stores no capture timestamp, so this is null there even when the fee is CAPTURED."
          },
          "internalAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "The fee as Stripe charged it, in the platform's internal settlement currency. Null until the fee is CAPTURED, AND null on a CAPTURED fee whose amount this booking cannot state as its own -- see the type description. Never infer an amount from the state.",
            "example" : 450.0
          },
          "shareNotStated" : {
            "type" : "boolean",
            "description" : "Whether a fee was charged and debited to the property while this booking cannot state its own share of it -- the case on a Stripe charge shared with other bookings. When true the amounts are absent by design and the property's ledger carries the figure; do not render this as 'no cost'.",
            "example" : false
          },
          "sourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "The same fee restated in the hotel's source currency, at the booking's own capture rate (sourceAmount / internalAmount) -- the rate the guest's payment was converted at, so the fee nets against the credit it reduces. Null whenever internalAmount is null, and additionally when the booking's breakdown carries no usable capture ratio.",
            "example" : 450.0
          },
          "state" : {
            "type" : "string",
            "description" : "Whether the fee has been read from Stripe yet. PENDING means a fee is owed and the balance transaction has not posted -- it is never a zero fee.",
            "enum" : [ "PENDING", "CAPTURED", "NOT_APPLICABLE" ],
            "example" : "CAPTURED"
          }
        },
        "required" : [ "shareNotStated", "state" ]
      },
      "BookingPaymentDetails_SupplierDetails" : {
        "type" : "object",
        "description" : "Vendor-agnostic payment details embedded in a booking, capturing the payment provider, charge identifiers, card details, and associated fees.",
        "example" : {
          "acquiringFeeCapture" : {
            "apportionedAcross" : 3,
            "balanceTransactionIdentifier" : "txn_abc123",
            "capturedDate" : "2026-09-11T03:07:58.742",
            "chargeFee" : 450.0,
            "chargeIdentifier" : "ch_abc123",
            "source" : "WEBHOOK"
          },
          "acquiringFeeState" : "CAPTURED",
          "agentInvoiceIdentifier" : "invoice-1",
          "agentInvoicedDate" : "2017-12-22T03:07:58.742+0000",
          "chargeIdentifier" : "ch_abc123",
          "customerIdentifier" : "cus_abc123",
          "fees" : [ {
            "description" : "Fee charged for booking confirmation",
            "fee" : 450.0,
            "identifier" : "ABC1234",
            "type" : "BOOKING"
          } ],
          "selfAcquires" : false,
          "selfDisburses" : false,
          "sessionIdentifier" : "s_abc123",
          "transactionIdentifier" : "pi_3abc123",
          "vendor" : "STRIPE"
        },
        "properties" : {
          "acquiringFeeCapture" : {
            "$ref" : "#/components/schemas/AcquiringFeeCapture_SupplierDetails",
            "description" : "Audit record of the acquiring-fee read. Identical on every booking sharing the charge; present only once the fee has been captured. Visible to the property and its agents, not to the booker."
          },
          "acquiringFeeState" : {
            "type" : "string",
            "description" : "Capture state of the Stripe acquiring fee. Absent on bookings written before the field existed; use the resolved state rather than this raw value.",
            "enum" : [ "PENDING", "CAPTURED", "NOT_APPLICABLE" ],
            "example" : "CAPTURED"
          },
          "agentInvoiceIdentifier" : {
            "type" : "string",
            "description" : "The specific invoice this booking was registered on",
            "example" : "invoice-1"
          },
          "agentInvoicedDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The date/time the invoice was generated",
            "example" : "2017-12-22T03:07:58.742+0000"
          },
          "chargeIdentifier" : {
            "type" : "string",
            "description" : "Unique charge id from the vendor.",
            "example" : "ch_abc123"
          },
          "customerIdentifier" : {
            "type" : "string",
            "description" : "Unique customer id from the vendor.",
            "example" : "cus_abc123",
            "minLength" : 1
          },
          "fees" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Fee_SupplierDetails",
              "description" : "Fees associated with this booking. Processor economics -- visible to the property and its agents, not to the booker."
            }
          },
          "selfAcquires" : {
            "type" : "boolean",
            "description" : "Whether the booking's travel agent acquires (collects) the guest payment themselves, outside Wink/TripPay. Snapshot of the agent's setting at booking time.",
            "example" : false
          },
          "selfDisburses" : {
            "type" : "boolean",
            "description" : "Whether the booking's travel agent disburses funds to the supplier themselves, outside Wink/TripPay. Snapshot of the agent's setting at booking time. When self-acquires AND self-disburses are both true, the SALE and COMMISSION amounts never touch Wink's ledger and are not withdrawable.",
            "example" : false
          },
          "sessionIdentifier" : {
            "type" : "string",
            "description" : "Unique session id from the vendor.",
            "example" : "s_abc123",
            "minLength" : 1
          },
          "transactionIdentifier" : {
            "type" : "string",
            "description" : "Unique transaction id from the vendor.",
            "example" : "pi_3abc123",
            "minLength" : 1
          },
          "vendor" : {
            "type" : "string",
            "description" : "Name of acquiring vendor",
            "enum" : [ "STRIPE", "AGENT", "REVOLUT", "TEST" ],
            "example" : "STRIPE"
          },
          "vendorSpecific" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Vendor specific values that are returned in a successful response"
          }
        },
        "required" : [ "customerIdentifier", "sessionIdentifier", "transactionIdentifier", "vendor", "vendorSpecific" ]
      },
      "BookingPayout_SupplierDetails" : {
        "type" : "object",
        "description" : "Immutable payout record embedded in a booking, representing a funds disbursement to a beneficiary in source, internal, and display currencies.",
        "example" : {
          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "accountName" : "Hotel Sunrise",
          "beneficiaryType" : "SALE",
          "displayAmount" : 12.75,
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "internalAmount" : 12.75,
          "processedDate" : "2026-01-15T10:30:00Z",
          "sourceAmount" : 450.0,
          "status" : "COMPLETED",
          "withdrawalId" : "tr_abc123"
        },
        "properties" : {
          "accountIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Account identifier of the beneficiary receiving funds.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "accountName" : {
            "type" : "string",
            "description" : "Account name of the beneficiary.",
            "example" : "Hotel Sunrise",
            "minLength" : 1
          },
          "beneficiaryType" : {
            "type" : "string",
            "description" : "Beneficiary type (SALE, COMMISSION, TRIP_PAY, etc.).",
            "example" : "SALE",
            "minLength" : 1
          },
          "displayAmount" : {
            "type" : "number",
            "description" : "Payout amount in display currency.",
            "example" : 12.75
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique payout identifier.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "internalAmount" : {
            "type" : "number",
            "description" : "Payout amount in internal (USD) currency.",
            "example" : 12.75
          },
          "processedDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the payout was processed.",
            "example" : "2026-01-15T10:30:00Z"
          },
          "sourceAmount" : {
            "type" : "number",
            "description" : "Payout amount in source currency.",
            "example" : 450.0
          },
          "status" : {
            "type" : "string",
            "description" : "Payout status (PENDING, COMPLETED, FAILED).",
            "example" : "COMPLETED",
            "minLength" : 1
          },
          "withdrawalId" : {
            "type" : "string",
            "description" : "External withdrawal/transfer ID from payment processor.",
            "example" : "tr_abc123"
          }
        },
        "required" : [ "accountIdentifier", "accountName", "beneficiaryType", "displayAmount", "identifier", "internalAmount", "sourceAmount", "status" ]
      },
      "BookingRefund_SupplierDetails" : {
        "type" : "object",
        "description" : "Immutable refund record embedded in a booking, capturing the refund amount across source, internal, and display currencies along with reason, status, and requestor.",
        "example" : {
          "cancelOnRefund" : "NONE",
          "createdDate" : "2026-01-15T10:30:00Z",
          "description" : "Guest requested cancellation",
          "displayAmount" : 12.75,
          "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "internalAmount" : 12.75,
          "processedDate" : "2026-01-15T10:30:00Z",
          "reason" : "REQUESTED_BY_CUSTOMER",
          "receiptUrl" : "https://pay.stripe.com/receipts/abc123",
          "requestor" : "BY_ADMIN",
          "response" : "Approved — refunding 50% per policy.",
          "sourceAmount" : 450.0,
          "status" : "SUCCEEDED",
          "stripeRefundFee" : 0.5,
          "stripeRefundId" : "re_abc123"
        },
        "properties" : {
          "cancelOnRefund" : {
            "type" : "string",
            "description" : "Whether the booking should be cancelled when this refund is approved. Applied at admin-approval time, not at request time.",
            "enum" : [ "NONE", "CANCEL_ON_SUCCESSFUL_REFUND", "CANCEL_REGARDLESS" ],
            "example" : "NONE"
          },
          "createdDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the refund was created.",
            "example" : "2026-01-15T10:30:00Z"
          },
          "description" : {
            "type" : "string",
            "description" : "Human-readable description.",
            "example" : "Guest requested cancellation",
            "minLength" : 1
          },
          "displayAmount" : {
            "type" : "number",
            "description" : "Refund amount in display (user) currency.",
            "example" : 12.75
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique refund identifier.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "internalAmount" : {
            "type" : "number",
            "description" : "Refund amount in internal (USD/capture) currency.",
            "example" : 12.75
          },
          "processedDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the refund was processed by Stripe.",
            "example" : "2026-01-15T10:30:00Z"
          },
          "reason" : {
            "type" : "string",
            "description" : "Reason for the refund.",
            "enum" : [ "DUPLICATE", "FRAUDULENT", "REQUESTED_BY_CUSTOMER", "GUEST_COMPLAINT", "GUEST_BOOKED_INCORRECT_DATE", "GUEST_SICK", "OVERBOOKING", "EMERGENCY", "FLIGHT_CANCELLED", "DEATH_IN_FAMILY", "OTHER", "EXPIRED_UNCAPTURED_CHARGE", "AVAILABILITY_CHECK_FAILED" ],
            "example" : "REQUESTED_BY_CUSTOMER"
          },
          "receiptUrl" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Stripe receipt URL for the refund.",
            "example" : "https://pay.stripe.com/receipts/abc123"
          },
          "requestor" : {
            "type" : "string",
            "description" : "Who requested the refund.",
            "enum" : [ "BY_SUPPLIER", "BY_ADMIN", "BY_STRIPE", "BY_SYSTEM", "BY_AGENT", "BY_GUEST" ],
            "example" : "BY_ADMIN"
          },
          "response" : {
            "type" : "string",
            "description" : "Wink admin's response to the refund request. Kept separate from description so the admin's reply never overwrites the requester's (traveler/hotel) original text.",
            "example" : "Approved — refunding 50% per policy."
          },
          "sourceAmount" : {
            "type" : "number",
            "description" : "Refund amount in source (supplier/hotel) currency.",
            "example" : 450.0
          },
          "status" : {
            "type" : "string",
            "description" : "Current status of this refund.",
            "enum" : [ "PENDING", "SUCCEEDED", "CANCELED", "REQUIRES_ACTION", "FAILED" ],
            "example" : "SUCCEEDED"
          },
          "stripeRefundFee" : {
            "type" : "number",
            "description" : "Stripe refund processing fee in internal (capture) currency, captured asynchronously via webhook from balance_transaction.fee. Visible to the property and its agents, not to the booker.",
            "example" : 0.5
          },
          "stripeRefundId" : {
            "type" : "string",
            "description" : "Stripe Refund ID.",
            "example" : "re_abc123"
          }
        },
        "required" : [ "createdDate", "description", "displayAmount", "identifier", "internalAmount", "reason", "requestor", "sourceAmount", "status" ]
      },
      "BookingRoomStayLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Booking-time snapshot of a room stay, persisted on the booking document and carrying all pricing, occupancy, policy, and date range information needed to service the booking.",
        "example" : {
          "activeCancellationPolicy" : {
            "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
            "createdDate" : "2026-01-14T09:30:00",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
            "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
            "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
            "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
            "refundable" : false,
            "refundableCancellationCharge" : "FIFTY_PERCENT",
            "version" : 3
          },
          "adults" : 2,
          "ancillaryList" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "bedroomConfiguration" : {
            "bedroomList" : [ {
              "bedList" : [ {
                "bedTypeCode" : "1",
                "quantity" : 2
              } ],
              "type" : "MASTER"
            } ],
            "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "name" : "Master Suite Layout"
          },
          "beneficiaryList" : [ {
            "accountEmail" : "reservations@thesiamresidences.com",
            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "accountName" : "The Siam Residences, Bangkok",
            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
            "amountDue" : {
              "percent" : 0.05
            },
            "displayAmount" : 450.0,
            "displayAmountRefundModifier" : 45.0,
            "displayCurrency" : "USD",
            "internalAmount" : 450.0,
            "internalAmountRefundModifier" : 45.0,
            "internalCurrency" : "USD",
            "netDisplayAmount" : 450.0,
            "netInternalAmount" : 450.0,
            "netSourceAmount" : 450.0,
            "pendingRefunds" : [ {
              "displayAmountRefundModifier" : 45.0,
              "internalAmountRefundModifier" : 45.0,
              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
              "sourceAmountRefundModifier" : 45.0
            } ],
            "reconciled" : false,
            "sourceAmount" : 450.0,
            "sourceAmountRefundModifier" : 45.0,
            "sourceCurrency" : "THB"
          } ],
          "children" : 0,
          "endDate" : "2025-12-27",
          "extraCharges" : {
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "items" : [ {
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "ratePlanLevelFee" : {
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "fixedAmount" : 450.0,
                "type" : "PER_DAY"
              },
              "unitPrice" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              }
            } ],
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "financialBreakdown" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "displayPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "internalPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            }
          },
          "guestUser" : {
            "email" : "reservations@thesiamresidences.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "profile" : {
              "createdDate" : "2026-01-14T09:30:00",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "personal" : {
                "address1" : "123 Petchburi Road",
                "address2" : "Ratchathewi District",
                "birthDate" : "1985-06-15",
                "childQuantity" : 2,
                "citizenship" : "Thailand",
                "city" : "Bangkok",
                "contactPerson" : [ {
                  "email" : "johnsmith@email.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phoneNumber" : "+12125551212",
                  "secondaryEmail" : "johnsmith2@email.com",
                  "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                } ],
                "country" : "TH",
                "gender" : "FEMALE",
                "language" : "en",
                "maritalStatus" : "MARRIED",
                "petInfo" : [ {
                  "name" : "Luna",
                  "type" : "Golden Retriever"
                } ],
                "postalCode" : "10400",
                "preferredCurrency" : "USD",
                "state" : "Bangkok"
              },
              "preferences" : {
                "bedTypePref" : "King bed",
                "cuisinePref" : "Thai",
                "foodSrvcPref" : "In-room dining",
                "guestType" : "Business traveler",
                "hotelChainPref" : "Mandarin Oriental",
                "mealPref" : "Continental breakfast",
                "physChalFeaturePref" : "Wheelchair accessible rooms",
                "propertyLocationPref" : "Beachfront",
                "propertyTypePref" : "Luxury Resort",
                "roomLocationPref" : "High floor with city view",
                "smokingAllowed" : false
              },
              "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "share" : true,
              "user" : {
                "email" : "alexandra@beaumont.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phone" : "+66212658866",
                "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
              },
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
              "version" : 3
            },
            "telephone" : "+1 212 555 1212",
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "perkTypes" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
          "price" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "internalBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "list" : [ {
              "adults" : 2,
              "channelDiscountPercent" : 5.0,
              "children" : 0,
              "date" : "2026-07-14",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
              "internalBaseRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "isEndDate" : false,
              "isLastNight" : false,
              "isStartDate" : true,
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "premiumPercent" : 0.0,
              "promotionalDiscountPercent" : 10.0,
              "quantity" : 2,
              "rateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
              "ratePlanIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "rateSource" : "WINK",
              "sourceBaseRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            } ],
            "offerDetails" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "quantity" : 2,
            "sourceBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "quantity" : 1,
          "ratePlan" : {
            "allInclusive" : false,
            "allInclusivePlusAlcohol" : false,
            "breakfast" : false,
            "brunch" : false,
            "dinner" : false,
            "earlyCheckInCharge" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "lateCheckOutCharge" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "lunch" : false,
            "name" : "BAR 1"
          },
          "room" : {
            "active" : true,
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "baseRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "bathroomCount" : 0,
            "bedroomConfigurationList" : [ {
              "bedroomList" : [ {
                "bedList" : [ {
                  "bedTypeCode" : "1",
                  "quantity" : 2
                } ],
                "type" : "MASTER"
              } ],
              "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "name" : "Master Suite Layout"
            } ],
            "bookable" : true,
            "commissionable" : true,
            "composite" : false,
            "compositeCount" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "createdDate" : "2026-01-14T09:30:00",
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "featuredInd" : false,
            "floor" : "3",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "includedAdultOccupancy" : 2,
            "includedChildOccupancy" : 0,
            "lastUpdate" : "2026-02-03T16:45:12",
            "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
            "livingRoomCount" : 0,
            "location" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            },
            "maxAdultOccupancy" : 1,
            "maxChildOccupancy" : 0,
            "maxCribs" : 1,
            "maxOccupancy" : 2,
            "maxRollaways" : 0,
            "minAgeAppropriateCode" : "1",
            "minOccupancy" : 1,
            "minRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "Archery lesson",
            "nonSmoking" : true,
            "pricePoint" : "THREE",
            "proximityCode" : "1",
            "publishStatus" : "PUBLISHED",
            "quantity" : 40,
            "recognitionList" : [ {
              "category" : "AWARD",
              "date" : "2026-01-14",
              "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "maxRating" : 10.0,
              "officialAppointmentInd" : true,
              "provider" : "Michelin",
              "rating" : 8.5,
              "ratingSymbol" : "*",
              "type" : "PERCENT_RATING"
            } ],
            "roomArchitectureCode" : "1",
            "roomCategory" : "1",
            "roomClassificationCode" : "1",
            "roomGender" : "Female",
            "roomLocationCode" : "1",
            "roomViewCode" : "1",
            "sharedRoomInd" : false,
            "size" : 55,
            "socials" : [ {
              "location" : "https://www.instagram.com/thesiamresidences",
              "type" : "INSTAGRAM"
            } ],
            "sort" : 1,
            "transactionalInventoryList" : [ {
              "basePrice" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "discountedPrice" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "maxPax" : 10,
              "minPax" : 2,
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "1 hour session",
              "percentDiscount" : 0.1,
              "percentPremium" : 0.1,
              "pricingType" : "PER_NIGHT"
            } ],
            "version" : 3
          },
          "roomImageUrl" : "https://path.to/room-image.jpg",
          "roomRateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
          "roomRateInternalName" : "Master Rate 1",
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "startDate" : "2025-12-24",
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "activeCancellationPolicy" : {
            "$ref" : "#/components/schemas/CancellationPolicyLightweight_SupplierDetails",
            "description" : "Active cancellation policy resolved at booking time."
          },
          "adults" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "The actual amount of adults as determined by the hotel's policy.",
            "example" : 2
          },
          "ancillaryList" : {
            "type" : "array",
            "description" : "Ancillary services attached to this room stay.",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_SupplierDetails"
            }
          },
          "bedroomConfiguration" : {
            "$ref" : "#/components/schemas/BedroomConfiguration_SupplierDetails",
            "description" : "Desired bedroom layout"
          },
          "beneficiaryList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Beneficiary_SupplierDetails"
            }
          },
          "children" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The actual amount of children as determined by the hotel's policy.",
            "example" : 0
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Check-out date",
            "example" : "2025-12-27"
          },
          "extraCharges" : {
            "$ref" : "#/components/schemas/ExtraCharges_SupplierDetails",
            "description" : "Rate plan-level extra charges"
          },
          "financialBreakdown" : {
            "$ref" : "#/components/schemas/FinancialBreakdown_SupplierDetails"
          },
          "guestUser" : {
            "$ref" : "#/components/schemas/GuestUser_SupplierDetails",
            "description" : "Guest assigned to this room stay (lead occupant)."
          },
          "guests" : {
            "type" : "integer",
            "format" : "int32"
          },
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "perkTypes" : {
            "type" : "array",
            "description" : "List of perks that came with the master rate",
            "example" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
            "items" : {
              "$ref" : "#/components/schemas/PerkLightweight_SupplierDetails"
            }
          },
          "price" : {
            "$ref" : "#/components/schemas/BookingStayRateLightweight_SupplierDetails",
            "description" : "Price details. Already quantity-scaled — its totals and breakdown represent all booked rooms."
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of identical rooms of this type. Display only — the money-bearing quantity lives on price (BookingStayRateLightweight).",
            "example" : 1
          },
          "ratePlan" : {
            "$ref" : "#/components/schemas/RoomConfigurationPriceRatePlan_SupplierDetails",
            "description" : "Rate plan used for this stay"
          },
          "rateSource" : {
            "type" : "string"
          },
          "room" : {
            "$ref" : "#/components/schemas/GuestRoomLightweight_SupplierDetails",
            "description" : "Guest room details."
          },
          "roomImageUrl" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Absolute URL of room image",
            "example" : "https://path.to/room-image.jpg"
          },
          "roomNights" : {
            "type" : "integer",
            "format" : "int64"
          },
          "roomRateIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Master rate identifier",
            "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
            "minLength" : 1
          },
          "roomRateInternalName" : {
            "type" : "string",
            "description" : "Master rate internal name",
            "example" : "Master Rate 1",
            "minLength" : 1
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Check-in date",
            "example" : "2025-12-24"
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          }
        },
        "required" : [ "adults", "children", "endDate", "price", "ratePlan", "room", "roomRateIdentifier", "roomRateInternalName", "startDate" ]
      },
      "BookingStatusTransition_SupplierDetails" : {
        "type" : "object",
        "description" : "Audit record capturing a single booking status transition, including the previous status, the new status, when the transition occurred, and who triggered it.",
        "example" : {
          "actor" : "stripe-webhook",
          "fromStatus" : "PENDING",
          "reason" : "Payment confirmed by Stripe",
          "timestamp" : "2026-01-15T10:30:00Z",
          "toStatus" : "CONFIRMED"
        },
        "properties" : {
          "actor" : {
            "type" : "string",
            "description" : "Who or what triggered the transition.",
            "example" : "stripe-webhook"
          },
          "fromStatus" : {
            "type" : "string",
            "description" : "Status before the transition.",
            "enum" : [ "INITIALIZED", "TEST_PAYMENT_SUCCEEDED", "PAYMENT_SUCCEEDED", "PAYMENT_FAILED", "FAILED", "CANCELLED", "PARTIALLY_REFUNDED", "FULLY_REFUNDED" ],
            "example" : "PENDING"
          },
          "reason" : {
            "type" : "string",
            "description" : "Human-readable reason for the transition.",
            "example" : "Payment confirmed by Stripe"
          },
          "timestamp" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the transition occurred.",
            "example" : "2026-01-15T10:30:00Z"
          },
          "toStatus" : {
            "type" : "string",
            "description" : "Status after the transition.",
            "enum" : [ "INITIALIZED", "TEST_PAYMENT_SUCCEEDED", "PAYMENT_SUCCEEDED", "PAYMENT_FAILED", "FAILED", "CANCELLED", "PARTIALLY_REFUNDED", "FULLY_REFUNDED" ],
            "example" : "CONFIRMED"
          }
        },
        "required" : [ "fromStatus", "timestamp", "toStatus" ]
      },
      "BookingStayRateLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Booking-time snapshot of the aggregate stay rate for one room type, with all monetary fields pre-multiplied by the booked quantity across source, internal, and user-display currencies.",
        "example" : {
          "beneficiaryList" : [ {
            "accountEmail" : "reservations@thesiamresidences.com",
            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "accountName" : "The Siam Residences, Bangkok",
            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
            "amountDue" : {
              "percent" : 0.05
            },
            "displayAmount" : 450.0,
            "displayAmountRefundModifier" : 45.0,
            "displayCurrency" : "USD",
            "internalAmount" : 450.0,
            "internalAmountRefundModifier" : 45.0,
            "internalCurrency" : "USD",
            "netDisplayAmount" : 450.0,
            "netInternalAmount" : 450.0,
            "netSourceAmount" : 450.0,
            "pendingRefunds" : [ {
              "displayAmountRefundModifier" : 45.0,
              "internalAmountRefundModifier" : 45.0,
              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
              "sourceAmountRefundModifier" : 45.0
            } ],
            "reconciled" : false,
            "sourceAmount" : 450.0,
            "sourceAmountRefundModifier" : 45.0,
            "sourceCurrency" : "THB"
          } ],
          "financialBreakdown" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "displayPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "internalPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            }
          },
          "internalBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "list" : [ {
            "adults" : 2,
            "channelDiscountPercent" : 5.0,
            "children" : 0,
            "date" : "2026-07-14",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
            "internalBaseRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "isEndDate" : false,
            "isLastNight" : false,
            "isStartDate" : true,
            "offerDetails" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "premiumPercent" : 0.0,
            "promotionalDiscountPercent" : 10.0,
            "quantity" : 2,
            "rateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
            "ratePlanIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "rateSource" : "WINK",
            "sourceBaseRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          } ],
          "offerDetails" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "quantity" : 2,
          "sourceBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "sourceToInternalCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceToUserCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "available" : {
            "type" : "boolean"
          },
          "beneficiaryList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Beneficiary_SupplierDetails"
            }
          },
          "channelDiscountPercent" : {
            "type" : "number"
          },
          "financialBreakdown" : {
            "$ref" : "#/components/schemas/FinancialBreakdown_SupplierDetails"
          },
          "internalBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "internalChannelModifier" : {
            "type" : "number"
          },
          "internalExtraChildModifier" : {
            "type" : "number"
          },
          "internalExtraPaxModifier" : {
            "type" : "number"
          },
          "internalPremiumModifier" : {
            "type" : "number"
          },
          "internalPromotionalModifier" : {
            "type" : "number"
          },
          "internalSingleOccupantModifier" : {
            "type" : "number"
          },
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Stay total in wink currency (per-room x quantity)."
          },
          "list" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingDailyRateLightweight_SupplierDetails"
            }
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32"
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offerDetails" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_SupplierDetails"
            }
          },
          "premiumPercent" : {
            "type" : "number"
          },
          "promotionalCodes" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "promotionalDiscountPercent" : {
            "type" : "number"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of identical rooms booked of this type. The one money-bearing quantity.",
            "example" : 2
          },
          "rateSource" : {
            "type" : "string"
          },
          "sourceBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "sourceChannelModifier" : {
            "type" : "number"
          },
          "sourceExtraChildModifier" : {
            "type" : "number"
          },
          "sourceExtraPaxModifier" : {
            "type" : "number"
          },
          "sourcePremiumModifier" : {
            "type" : "number"
          },
          "sourcePromotionalModifier" : {
            "type" : "number"
          },
          "sourceSingleOccupantModifier" : {
            "type" : "number"
          },
          "sourceToInternalCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails"
          },
          "sourceToUserCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_SupplierDetails"
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Stay total in hotel currency (per-room x quantity)."
          },
          "totalDiscountPercent" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "userSpecifiedCurrencyChannelModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyExtraChildModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyExtraPaxModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyPremiumModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyPromotionalModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencySingleOccupantModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Stay total in user specified currency (per-room x quantity)."
          }
        }
      },
      "BookingUserSession_SupplierDetails" : {
        "type" : "object",
        "description" : "User session information containing itinerary and other user related data.",
        "example" : {
          "currency" : "USD",
          "itinerary" : {
            "endDate" : "2024-01-02",
            "items" : [ {
              "adults" : 2,
              "children" : [ {
                "age" : 8,
                "quantity" : 2
              } ]
            } ],
            "nights" : 7,
            "startDate" : "2024-01-01"
          },
          "language" : "en",
          "lifestyle" : "LUXURY",
          "promotionalCodes" : [ "promo-1" ],
          "selectedRoomConfigurationIndex" : 0
        },
        "properties" : {
          "currency" : {
            "type" : "string",
            "description" : "User's currency preference",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "itinerary" : {
            "$ref" : "#/components/schemas/BookingItinerary_SupplierDetails",
            "description" : "Dates and travel info."
          },
          "language" : {
            "type" : "string",
            "description" : "User's language preference",
            "example" : "en",
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "lifestyle" : {
            "type" : "string",
            "description" : "The preferred user lifestyle.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LUXURY"
          },
          "promotionalCodes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "User can pass promotional codes to system to change prices.",
              "example" : "promo-1"
            }
          },
          "selectedRoomConfigurationIndex" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "User can pass the current room configuration index to retrieve rates specifically for that room configuration.",
            "example" : 0
          }
        },
        "required" : [ "itinerary" ]
      },
      "CountryLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Country",
        "example" : "{\n  \"iso\": \"TH\",\n  \"iso3\": \"THA\",\n  \"isoNumeric\": 764,\n  \"fips\": \"TH\",\n  \"name\": \"Thailand\",\n  \"capital\": \"Bangkok\",\n  \"area\": 514000.0,\n  \"population\": 69428524,\n  \"continent\": \"AS\",\n  \"topLevelDomain\": \".th\",\n  \"currencyCode\": \"THB\",\n  \"currencyName\": \"Baht\",\n  \"phone\": \"66\",\n  \"postalCodeFormat\": \"#####\",\n  \"postalCodeRegEx\": \"^(\\d{5})$\",\n  \"languages\": [\"th\"],\n  \"geoNameId\": \"1605651\",\n  \"neighbors\": [\"LA\", \"MM\", \"KH\", \"MY\"]\n}",
        "properties" : {
          "capital" : {
            "type" : "string",
            "description" : "Country capital",
            "example" : "Washington"
          },
          "continent" : {
            "type" : "string",
            "description" : "Continent code",
            "example" : "NA"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "currencyName" : {
            "type" : "string",
            "description" : "Currency name",
            "example" : "Dollar"
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "Country GeoNames identifier",
            "example" : "6252001"
          },
          "iso" : {
            "type" : "string",
            "description" : "ISO code",
            "example" : "US"
          },
          "name" : {
            "type" : "string",
            "description" : "Country name",
            "example" : "United States"
          }
        }
      },
      "CustomizationLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight projection of a customization configuration used in listings and cross-module references",
        "example" : {
          "appendToPageTitle" : "Hotels with Benefits",
          "cardDesign" : "DEFAULT",
          "cardLayout" : "VERTICAL",
          "city" : {
            "admin1Code" : "40",
            "admin2Code" : "2401",
            "admin3Code" : "",
            "admin4Code" : "",
            "alternateCountryCodes" : [ ],
            "alternateNames" : [ "Krung Thep", "BKK" ],
            "asciiName" : "Bangkok",
            "country" : {
              "area" : 514000.0,
              "capital" : "Bangkok",
              "continent" : "AS",
              "currencyCode" : "THB",
              "currencyName" : "Baht",
              "fips" : "TH",
              "geoNameId" : "1605651",
              "iso" : "TH",
              "iso3" : "THA",
              "isoNumeric" : 764,
              "languages" : [ "th" ],
              "name" : "Thailand",
              "neighbors" : [ "LA", "MM", "KH", "MY" ],
              "phone" : "66",
              "population" : 69428524,
              "postalCodeFormat" : "#####",
              "postalCodeRegEx" : "^(\\d{5})$",
              "topLevelDomain" : ".th"
            },
            "countryCode" : "TH",
            "digitalElevationModel" : "3",
            "elevation" : 5,
            "featureClass" : "P",
            "featureCode" : "PPLC",
            "geoNameId" : "1609350",
            "location" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            },
            "modificationDate" : "2023-06-15",
            "name" : "Bangkok",
            "population" : 10539415,
            "radiusInMeters" : 50000,
            "subCountry" : {
              "asciiName" : "Bangkok",
              "code" : "TH.40",
              "countryCode" : "TH",
              "geoNameId" : "1609350",
              "name" : "Bangkok",
              "subCountryCode" : "40"
            },
            "subSubCountry" : {
              "asciiName" : "Bangkok District",
              "code" : "TH.40.2401",
              "countryCode" : "TH",
              "geoNameId" : "1609352",
              "name" : "Bangkok District",
              "subCountryCode" : "40",
              "subSubCountryCode" : "2401"
            },
            "timezone" : "Asia/Bangkok",
            "type" : "CITY",
            "urlName" : "bangkok-thailand"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "defaultCurrency" : "THB",
          "defaultLanguage" : "en",
          "defaultLifestyle" : "LIFESTYLE_HEALTH_FITNESS",
          "endDate" : "2026-07-22",
          "googleAnalyticsMeasurementId" : "G-ABCDEF1234",
          "googleMapsAPIKey" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6",
          "googleTagManagerContainerId" : "GTM-XXXXX",
          "hostedBookingEngineUrl" : "https://book.thesiamresidences.com/reservations",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "layout" : "INFORMATIONAL",
          "logos" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Luxury Travel Portal",
          "numberOfAdvanceDays" : 7,
          "numberOfStayDays" : 3,
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "ownerName" : "Premium Hotels International",
          "primary" : true,
          "roomConfiguration" : {
            "adults" : 2,
            "children" : [ {
              "age" : 7,
              "quantity" : 2
            } ],
            "quantity" : 2
          },
          "selfHosted" : true,
          "sendBookingNotificationEmailsToBooker" : true,
          "sendBookingNotificationEmailsToChannelManager" : true,
          "sendBookingNotificationEmailsToProperty" : true,
          "showRankings" : true,
          "showSearch" : true,
          "showUnavailableCard" : false,
          "startDate" : "2026-07-15",
          "subType" : "APPLICATION",
          "themeColors" : {
            "body" : "#212529",
            "danger" : "#dc3545",
            "dark" : "#343a40",
            "info" : "#17a2b8",
            "light" : "#f8f9fa",
            "muted" : "#6c757d",
            "primary" : "#dc3545",
            "secondary" : "#6c757d",
            "success" : "#28a745",
            "warning" : "#ffc107",
            "white" : "#ffffff"
          },
          "trackingPixels" : [ {
            "accessToken" : "EAABsbCS0kB4BAAI...",
            "consentCategory" : "MARKETING",
            "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
            "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
            "enabled" : true,
            "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
            "name" : "Facebook Conversion Pixel",
            "pixelId" : "1234567890",
            "provider" : "FACEBOOK",
            "triggers" : [ {
              "eventType" : "PURCHASE",
              "parameters" : [ {
                "key" : "currency",
                "value" : "USD"
              } ]
            } ],
            "type" : "JAVASCRIPT"
          } ],
          "useDays" : true,
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
          "version" : 3,
          "wcBookClickAction" : "IBE_MODAL"
        },
        "properties" : {
          "appendToPageTitle" : {
            "type" : "string",
            "description" : "Whether to append text to the existing booking customization page title.",
            "example" : "Hotels with Benefits"
          },
          "cardDesign" : {
            "type" : "string",
            "default" : "DEFAULT",
            "description" : "Choose the card design to use on our web component cards.",
            "enum" : [ "DEFAULT" ],
            "example" : "DEFAULT"
          },
          "cardLayout" : {
            "type" : "string",
            "default" : "VERTICAL",
            "description" : "Choose how you large you want our web component cards to be.",
            "enum" : [ "HORIZONTAL", "VERTICAL" ],
            "example" : "VERTICAL"
          },
          "city" : {
            "$ref" : "#/components/schemas/GeoNameLightweight_SupplierDetails"
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "defaultCurrency" : {
            "type" : "string",
            "default" : "USD",
            "description" : "Control which currency your users see prices in initially.",
            "example" : "THB",
            "pattern" : "^[A-Z]{3}$"
          },
          "defaultLanguage" : {
            "type" : "string",
            "default" : "en",
            "description" : "Control which language your users see text in initially.",
            "example" : "en",
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "defaultLifestyle" : {
            "type" : "string",
            "description" : "Control which lifestyle contextx your users see initially.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Set a fixed itinerary end date ONLY populate this field if you want to fix the itinerary date. Also, leave `numberOfAdvanceDays` and `numberOfStayDays` empty.",
            "example" : "2026-07-22"
          },
          "fontId" : {
            "type" : "string",
            "description" : "Custom font for the booking engine. Null means use the system default.",
            "enum" : [ "UI_SANS_SERIF", "UI_SERIF", "PLAYFAIR_DISPLAY", "LIBRE_BASKERVILLE", "CORMORANT_GARAMOND", "JOSEFIN_SANS", "RALEWAY", "LORA", "SPACE_GROTESK", "DM_SERIF_DISPLAY", "OUTFIT", "CRIMSON_PRO", "CINZEL", "BODONI_MODA", "EB_GARAMOND", "ITALIANA", "FORUM", "TENOR_SANS", "GILDA_DISPLAY", "MARCELLUS" ]
          },
          "googleAnalyticsMeasurementId" : {
            "type" : "string",
            "description" : "Your GA4 Measurement ID (G-XXXXXXX). Configured client-side via gtag; the purchase event fires on the thank-you page, not server-side.",
            "example" : "G-ABCDEF1234"
          },
          "googleMapsAPIKey" : {
            "type" : "string",
            "description" : "If you want your users to see Google Maps in your hosted booking customization, go to [Google Maps](https://console.developers.google.com/projectselector2/apis/credentials?supportedpurview=project) and create an API key for your site.",
            "example" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6"
          },
          "googleTagManagerContainerId" : {
            "type" : "string",
            "description" : "If you want to track analytics and you have a GTM Container ID, enter it here. Treated as a black box and loaded client-side; the container's own tags decide what fires.",
            "example" : "GTM-XXXXX"
          },
          "hostedBookingEngineUrl" : {
            "type" : "string",
            "format" : "uri",
            "default" : "https://book.wink.travel",
            "description" : "If you are self-hosting our booking customization, let us know where it is hosted. Note: This url needs to be secured with SSL.",
            "example" : "https://book.thesiamresidences.com/reservations"
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "layout" : {
            "type" : "string",
            "default" : "INFORMATIONAL",
            "description" : "Choose how you want our web component cards laid out.",
            "enum" : [ "INFORMATIONAL", "TRANSACTIONAL" ],
            "example" : "INFORMATIONAL"
          },
          "logos" : {
            "type" : "array",
            "description" : "Customize booking confirmation emails by adding a custom logo to your configuration.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_SupplierDetails"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Engine configuration name",
            "example" : "Luxury Travel Portal",
            "minLength" : 1
          },
          "numberOfAdvanceDays" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "You can control the initial itinerary date used to retrieve travel inventory prices. You can do it in one of two ways: 1. Dynamically set the date by indicating how long and how many days in advance (this field), of today's date, you want to display prices for. 2. Set a fixed date to display prices for. Option 1 is the most shared. Option 2 is for when you want to create a new customization and apply it to a specific event that occurs on a specific date. If you don't use either of these options, the itinerary will default to today's date with one night stay. ONLY populate this field if you want to control the itinerary date. Also, leave `startDate` and `endDate` empty.",
            "example" : 7
          },
          "numberOfStayDays" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "You can control the initial itinerary date used to retrieve travel inventory prices. You can do it in one of two ways: 1. Dynamically set the date by indicating how long (this field) and how many days in advance, of today's date, you want to display prices for. 2. Set a fixed date to display prices for. Option 1 is the most shared. Option 2 is for when you want to create a new customization and apply it to a specific event that occurs on a specific date. If you don't use either of these options, the itinerary will default to today's date with one night stay. ONLY populate this field if you want to control the itinerary date. Also, leave `startDate` and `endDate` empty.",
            "example" : 3
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Engine configuration record creator identifier",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
          },
          "ownerName" : {
            "type" : "string",
            "description" : "Name of company owner.",
            "example" : "Premium Hotels International"
          },
          "primary" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates whether this configuration is primary. A primary configuration cannot be removed.",
            "example" : true
          },
          "promotionalCodes" : {
            "type" : "array",
            "description" : "If you've received special promotional codes from suppliers to give to your audience, you can choose to bake these code directly into the price by entering them here.",
            "items" : {
              "type" : "string"
            }
          },
          "roomConfiguration" : {
            "$ref" : "#/components/schemas/RoomConfiguration_SupplierDetails",
            "description" : "Control how many adults / children will be staying and how many of that room to book. Defaults to: One room, two adults."
          },
          "selfHosted" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Flag to indicate you are self-hosting our booking customization and not using our default booking customization url.",
            "example" : true
          },
          "sendBookingNotificationEmailsToBooker" : {
            "type" : "boolean",
            "default" : true,
            "description" : "An integrator can choose to disable outgoing emails to users because they want to do that themselves.",
            "example" : true
          },
          "sendBookingNotificationEmailsToChannelManager" : {
            "type" : "boolean",
            "default" : true,
            "description" : "An integrator can choose to disable notifying the property's channel manager. Note: This should ONLY be done for testing.",
            "example" : true
          },
          "sendBookingNotificationEmailsToProperty" : {
            "type" : "boolean",
            "default" : true,
            "description" : "An integrator can choose to disable outgoing emails to properties because they want to do that themselves.",
            "example" : true
          },
          "showRankings" : {
            "type" : "boolean",
            "description" : "Whether to display rankings (lifestyle, eco score and reviews) on hotel landing page.",
            "example" : true
          },
          "showSearch" : {
            "type" : "boolean",
            "description" : "This feature flag controls whether to let a user move away from the hotel landing page using search.",
            "example" : true
          },
          "showUnavailableCard" : {
            "type" : "boolean",
            "description" : "Show unavailable inventory card when inventory not currently for sale. Otherwise, it displays a normal card but without the price.",
            "example" : false
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Set a fixed itinerary start date. ONLY populate this field if you want to fix the itinerary date. Also, leave `numberOfAdvanceDays` and `numberOfStayDays` empty.",
            "example" : "2026-07-15"
          },
          "subType" : {
            "type" : "string",
            "description" : "Sales channel sub-type.",
            "enum" : [ "TRIP_PAY", "FACILITATOR", "DIRECT", "APPLICATION", "HOTEL", "TRAVELIKO", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "GOOGLE_HOTEL_API", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ],
            "example" : "APPLICATION"
          },
          "themeColors" : {
            "$ref" : "#/components/schemas/CustomizationThemeColors_SupplierDetails",
            "description" : "Choose how you want our web components to look and more closely match with your own site style."
          },
          "trackingPixels" : {
            "type" : "array",
            "description" : "Tracking pixels and web beacons for analytics and conversion tracking.",
            "items" : {
              "$ref" : "#/components/schemas/TrackingPixel_SupplierDetails"
            }
          },
          "useDays" : {
            "type" : "boolean",
            "description" : "if true, we use numberOfAdvanceDays / numberOfStayDays properties - false, we use startDate / endDate",
            "example" : true
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Authenticated user identifier",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          },
          "wcBookClickAction" : {
            "type" : "string",
            "description" : "Action to complete once a user clicks on the CTA button on inventory.",
            "enum" : [ "FORWARD_TO_IBE", "IBE_MODAL" ],
            "example" : "IBE_MODAL"
          }
        },
        "required" : [ "id", "name", "ownerIdentifier", "ownerName", "subType", "userIdentifier" ]
      },
      "CustomizationThemeColors_SupplierDetails" : {
        "type" : "object",
        "description" : "Bootstrap-compatible color palette used to style the booking engine web components; all values are CSS hex color codes",
        "example" : {
          "body" : "#212529",
          "danger" : "#dc3545",
          "dark" : "#343a40",
          "info" : "#17a2b8",
          "light" : "#f8f9fa",
          "muted" : "#6c757d",
          "primary" : "#dc3545",
          "secondary" : "#6c757d",
          "success" : "#28a745",
          "warning" : "#ffc107",
          "white" : "#ffffff"
        },
        "properties" : {
          "body" : {
            "type" : "string",
            "default" : "#212529",
            "description" : "Body color",
            "example" : "#212529"
          },
          "danger" : {
            "type" : "string",
            "default" : "#dc3545",
            "description" : "Danger color",
            "example" : "#dc3545"
          },
          "dark" : {
            "type" : "string",
            "default" : "#343a40",
            "description" : "Dark color",
            "example" : "#343a40"
          },
          "info" : {
            "type" : "string",
            "default" : "#17a2b8",
            "description" : "Info color",
            "example" : "#17a2b8"
          },
          "light" : {
            "type" : "string",
            "default" : "#f8f9fa",
            "description" : "Light color",
            "example" : "#f8f9fa"
          },
          "muted" : {
            "type" : "string",
            "default" : "#6c757d",
            "description" : "Muted color",
            "example" : "#6c757d"
          },
          "primary" : {
            "type" : "string",
            "default" : "#dc3545",
            "description" : "Primary color",
            "example" : "#dc3545"
          },
          "secondary" : {
            "type" : "string",
            "default" : "#6c757d",
            "description" : "Secondary color",
            "example" : "#6c757d"
          },
          "success" : {
            "type" : "string",
            "default" : "#28a745",
            "description" : "Success color",
            "example" : "#28a745"
          },
          "warning" : {
            "type" : "string",
            "default" : "#ffc107",
            "description" : "Warning color",
            "example" : "#ffc107"
          },
          "white" : {
            "type" : "string",
            "default" : "#ffffff",
            "description" : "White color",
            "example" : "#ffffff"
          }
        }
      },
      "Fee_SupplierDetails" : {
        "type" : "object",
        "description" : "A fee associated with a booking transaction, such as an acquiring or tax fee",
        "example" : {
          "description" : "Fee charged for booking confirmation",
          "fee" : 450.0,
          "identifier" : "ABC1234",
          "type" : "BOOKING"
        },
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Withdrawal fee description",
            "example" : "Fee charged for booking confirmation",
            "minLength" : 1
          },
          "fee" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Fee amount",
            "example" : 450.0
          },
          "identifier" : {
            "type" : "string",
            "description" : "Unique system ID.",
            "example" : "ABC1234",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Type of fee",
            "enum" : [ "ACQUIRING", "FX", "TAX" ],
            "example" : "BOOKING"
          }
        },
        "required" : [ "description", "fee", "identifier", "type" ]
      },
      "GeneralManager_SupplierDetails" : {
        "type" : "object",
        "description" : "General manager related data.",
        "example" : {
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "image" : {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          },
          "name" : "Jane Doe"
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized welcome message from GM.",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_SupplierDetails"
            }
          },
          "image" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_SupplierDetails",
            "description" : "Profile image of the general manager."
          },
          "name" : {
            "type" : "string",
            "description" : "Name of GM currently managing the property.",
            "example" : "Jane Doe"
          }
        },
        "required" : [ "name" ]
      },
      "GeoNameLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "GeoNames have been created at [https://geonames.org](https://geonames.org) and contain geographical destinations we use as geoname data to associate travel inventory with a location.",
        "example" : {
          "admin1Code" : "40",
          "admin2Code" : "2401",
          "admin3Code" : "",
          "admin4Code" : "",
          "alternateCountryCodes" : [ ],
          "alternateNames" : [ "Krung Thep", "BKK" ],
          "asciiName" : "Bangkok",
          "country" : {
            "area" : 514000.0,
            "capital" : "Bangkok",
            "continent" : "AS",
            "currencyCode" : "THB",
            "currencyName" : "Baht",
            "fips" : "TH",
            "geoNameId" : "1605651",
            "iso" : "TH",
            "iso3" : "THA",
            "isoNumeric" : 764,
            "languages" : [ "th" ],
            "name" : "Thailand",
            "neighbors" : [ "LA", "MM", "KH", "MY" ],
            "phone" : "66",
            "population" : 69428524,
            "postalCodeFormat" : "#####",
            "postalCodeRegEx" : "^(\\d{5})$",
            "topLevelDomain" : ".th"
          },
          "countryCode" : "TH",
          "digitalElevationModel" : "3",
          "elevation" : 5,
          "featureClass" : "P",
          "featureCode" : "PPLC",
          "geoNameId" : "1609350",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "modificationDate" : "2023-06-15",
          "name" : "Bangkok",
          "population" : 10539415,
          "radiusInMeters" : 50000,
          "subCountry" : {
            "asciiName" : "Bangkok",
            "code" : "TH.40",
            "countryCode" : "TH",
            "geoNameId" : "1609350",
            "name" : "Bangkok",
            "subCountryCode" : "40"
          },
          "subSubCountry" : {
            "asciiName" : "Bangkok District",
            "code" : "TH.40.2401",
            "countryCode" : "TH",
            "geoNameId" : "1609352",
            "name" : "Bangkok District",
            "subCountryCode" : "40",
            "subSubCountryCode" : "2401"
          },
          "timezone" : "Asia/Bangkok",
          "type" : "CITY",
          "urlName" : "bangkok-thailand"
        },
        "properties" : {
          "asciiName" : {
            "type" : "string",
            "description" : "Ascii name of city",
            "example" : "New York City"
          },
          "country" : {
            "$ref" : "#/components/schemas/CountryLightweight_SupplierDetails",
            "description" : "Country",
            "example" : "TH"
          },
          "countryCode" : {
            "type" : "string",
            "description" : "ISO 3166-1 alpha-2 country code for the country this location belongs to",
            "example" : "TH",
            "pattern" : "^[A-Z]{2}$"
          },
          "featureCode" : {
            "type" : "string",
            "description" : "GeoNames specific feature code identifying the place type (e.g. PPL=populated place, PPLC=national capital, ISL=island)",
            "example" : "PPLA"
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "GeoName identifier",
            "example" : "5128581"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_SupplierDetails",
            "description" : "Coordinate points of the city",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Name of city",
            "example" : "New York City"
          },
          "subCountry" : {
            "$ref" : "#/components/schemas/SubCountryLightweight_SupplierDetails",
            "description" : "Country sub division",
            "example" : "NY"
          },
          "subSubCountry" : {
            "$ref" : "#/components/schemas/SubSubCountryLightweight_SupplierDetails",
            "description" : "Country sub sub division",
            "example" : "New York County"
          },
          "timezone" : {
            "type" : "string",
            "description" : "IANA timezone identifier for the location",
            "example" : "America/New_York"
          },
          "type" : {
            "type" : "string",
            "description" : "GeoNameLightweight type",
            "enum" : [ "CITY", "ISLAND", "OTHER" ],
            "example" : "CITY"
          },
          "urlName" : {
            "type" : "string",
            "description" : "Url name",
            "example" : "new-york-city-united-states",
            "pattern" : "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
          }
        }
      },
      "GuestUser_SupplierDetails" : {
        "type" : "object",
        "description" : "Guest user associated with a booking, optionally linked to a Wink platform profile",
        "example" : {
          "email" : "reservations@thesiamresidences.com",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "lastName" : "Beaumont",
          "profile" : {
            "createdDate" : "2026-01-14T09:30:00",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "personal" : {
              "address1" : "123 Petchburi Road",
              "address2" : "Ratchathewi District",
              "birthDate" : "1985-06-15",
              "childQuantity" : 2,
              "citizenship" : "Thailand",
              "city" : "Bangkok",
              "contactPerson" : [ {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              } ],
              "country" : "TH",
              "gender" : "FEMALE",
              "language" : "en",
              "maritalStatus" : "MARRIED",
              "petInfo" : [ {
                "name" : "Luna",
                "type" : "Golden Retriever"
              } ],
              "postalCode" : "10400",
              "preferredCurrency" : "USD",
              "state" : "Bangkok"
            },
            "preferences" : {
              "bedTypePref" : "King bed",
              "cuisinePref" : "Thai",
              "foodSrvcPref" : "In-room dining",
              "guestType" : "Business traveler",
              "hotelChainPref" : "Mandarin Oriental",
              "mealPref" : "Continental breakfast",
              "physChalFeaturePref" : "Wheelchair accessible rooms",
              "propertyLocationPref" : "Beachfront",
              "propertyTypePref" : "Luxury Resort",
              "roomLocationPref" : "High floor with city view",
              "smokingAllowed" : false
            },
            "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "share" : true,
            "user" : {
              "email" : "alexandra@beaumont.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phone" : "+66212658866",
              "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
            },
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "version" : 3
          },
          "telephone" : "+1 212 555 1212",
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Email",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name",
            "example" : "Alexandra",
            "minLength" : 1
          },
          "fullName" : {
            "type" : "string",
            "description" : "Full name",
            "example" : "Alexandra Beaumont",
            "readOnly" : true
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name",
            "example" : "Beaumont",
            "minLength" : 1
          },
          "profile" : {
            "$ref" : "#/components/schemas/ProfileLightweight_SupplierDetails",
            "description" : "Optional profile record"
          },
          "telephone" : {
            "type" : "string",
            "description" : "Telephone",
            "example" : "+1 212 555 1212",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "User identifier",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          }
        },
        "required" : [ "email", "firstName", "lastName" ]
      },
      "PersonalLightweight_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "address1" : "123 Petchburi Road",
          "address2" : "Ratchathewi District",
          "birthDate" : "1985-06-15",
          "childQuantity" : 2,
          "citizenship" : "Thailand",
          "city" : "Bangkok",
          "contactPerson" : [ {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          } ],
          "country" : "TH",
          "gender" : "FEMALE",
          "language" : "en",
          "maritalStatus" : "MARRIED",
          "petInfo" : [ {
            "name" : "Luna",
            "type" : "Golden Retriever"
          } ],
          "postalCode" : "10400",
          "preferredCurrency" : "USD",
          "state" : "Bangkok"
        },
        "properties" : {
          "address1" : {
            "type" : "string",
            "description" : "Primary address line",
            "example" : "123 Petchburi Road"
          },
          "address2" : {
            "type" : "string",
            "description" : "Secondary address line",
            "example" : "Ratchathewi District"
          },
          "birthDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Date of birth in ISO 8601 format",
            "example" : "1985-06-15"
          },
          "childQuantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of children",
            "example" : 2
          },
          "citizenship" : {
            "type" : "string",
            "description" : "Country of citizenship",
            "example" : "Thailand"
          },
          "city" : {
            "type" : "string",
            "description" : "City name",
            "example" : "Bangkok"
          },
          "contactPerson" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Contact_SupplierDetails",
              "description" : "Array of emergency contact information for the customer"
            }
          },
          "country" : {
            "type" : "string",
            "description" : "Country code (ISO 3166-1 alpha-2)",
            "example" : "TH",
            "pattern" : "^[A-Z]{2}$"
          },
          "gender" : {
            "type" : "string",
            "description" : "Identifies the gender of the customer.",
            "enum" : [ "MALE", "FEMALE", "OTHER" ],
            "example" : "FEMALE"
          },
          "language" : {
            "type" : "string",
            "description" : "Primary language (ISO 639-1 code)",
            "example" : "en",
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "maritalStatus" : {
            "type" : "string",
            "description" : "Marital status of the traveler",
            "enum" : [ "ANNULLED", "COHABITATING", "DIVORCED", "ENGAGED", "MARRIED", "SEPARATED", "SINGLE", "WIDOWED", "UNKNOWN" ],
            "example" : "MARRIED"
          },
          "petInfo" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PetInfoLightweight_SupplierDetails",
              "description" : "Array of customer's pets"
            }
          },
          "physChallName" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Array of customer's physical challenges"
            }
          },
          "postalCode" : {
            "type" : "string",
            "description" : "Postal code",
            "example" : "10400"
          },
          "preferredCurrency" : {
            "type" : "string",
            "description" : "Preferred currency for monetary values (ISO 4217 code)",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "state" : {
            "type" : "string",
            "description" : "State or province",
            "example" : "Bangkok"
          }
        }
      },
      "PetInfoLightweight_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "name" : "Luna",
          "type" : "Golden Retriever"
        },
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Pet name",
            "example" : "Luna",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Pet type",
            "example" : "Golden Retriever",
            "minLength" : 1
          }
        },
        "required" : [ "name", "type" ]
      },
      "Preferences_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "bedTypePref" : "King bed",
          "cuisinePref" : "Thai",
          "foodSrvcPref" : "In-room dining",
          "guestType" : "Business traveler",
          "hotelChainPref" : "Mandarin Oriental",
          "mealPref" : "Continental breakfast",
          "physChalFeaturePref" : "Wheelchair accessible rooms",
          "propertyLocationPref" : "Beachfront",
          "propertyTypePref" : "Luxury Resort",
          "roomLocationPref" : "High floor with city view",
          "smokingAllowed" : false
        },
        "properties" : {
          "allergies" : {
            "type" : "array",
            "description" : "Known allergies",
            "items" : {
              "type" : "string"
            }
          },
          "bedTypePref" : {
            "type" : "string",
            "description" : "Preferred hotel bed type",
            "example" : "King bed"
          },
          "beveragePref" : {
            "type" : "array",
            "description" : "Beverage preferences",
            "items" : {
              "type" : "string"
            }
          },
          "businessSrvcPref" : {
            "type" : "array",
            "description" : "Preferred business services",
            "items" : {
              "type" : "string"
            }
          },
          "cuisinePref" : {
            "type" : "string",
            "description" : "Cuisine preference",
            "example" : "Thai"
          },
          "foodPref" : {
            "type" : "array",
            "description" : "Food preferences",
            "items" : {
              "type" : "string"
            }
          },
          "foodSrvcPref" : {
            "type" : "string",
            "description" : "Preferred food service facilities",
            "example" : "In-room dining"
          },
          "guestType" : {
            "type" : "string",
            "description" : "Guest type classification",
            "example" : "Business traveler"
          },
          "hotelChainPref" : {
            "type" : "string",
            "description" : "Preferred hotel chain name",
            "example" : "Mandarin Oriental"
          },
          "interestPref" : {
            "type" : "array",
            "description" : "Interest preferences",
            "items" : {
              "type" : "string"
            }
          },
          "mealPref" : {
            "type" : "string",
            "description" : "Meal preference",
            "example" : "Continental breakfast"
          },
          "petsPref" : {
            "type" : "array",
            "description" : "Pet-friendly preferences",
            "items" : {
              "type" : "string"
            }
          },
          "physChalFeaturePref" : {
            "type" : "array",
            "description" : "Preferred accessibility features",
            "example" : "Wheelchair accessible rooms",
            "items" : {
              "type" : "string"
            }
          },
          "propertyAmenityPref" : {
            "type" : "array",
            "description" : "Preferred hotel property amenities",
            "items" : {
              "type" : "string"
            }
          },
          "propertyLocationPref" : {
            "type" : "string",
            "description" : "Preferred hotel property locations",
            "example" : "Beachfront"
          },
          "propertyTypePref" : {
            "type" : "string",
            "description" : "Preferred hotel property types",
            "example" : "Luxury Resort"
          },
          "recreationSrvcPref" : {
            "type" : "array",
            "description" : "Preferred recreation services",
            "items" : {
              "type" : "string"
            }
          },
          "roomAmenityPref" : {
            "type" : "array",
            "description" : "Preferred hotel room amenities",
            "items" : {
              "type" : "string"
            }
          },
          "roomLocationPref" : {
            "type" : "string",
            "description" : "Preferred hotel room locations",
            "example" : "High floor with city view"
          },
          "securityFeaturePref" : {
            "type" : "array",
            "description" : "Preferred security features",
            "items" : {
              "type" : "string"
            }
          },
          "smokingAllowed" : {
            "type" : "boolean",
            "description" : "Preference for smoking allowed rooms",
            "example" : false
          }
        }
      },
      "ProfileLightweight_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "createdDate" : "2026-01-14T09:30:00",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "personal" : {
            "address1" : "123 Petchburi Road",
            "address2" : "Ratchathewi District",
            "birthDate" : "1985-06-15",
            "childQuantity" : 2,
            "citizenship" : "Thailand",
            "city" : "Bangkok",
            "contactPerson" : [ {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            } ],
            "country" : "TH",
            "gender" : "FEMALE",
            "language" : "en",
            "maritalStatus" : "MARRIED",
            "petInfo" : [ {
              "name" : "Luna",
              "type" : "Golden Retriever"
            } ],
            "postalCode" : "10400",
            "preferredCurrency" : "USD",
            "state" : "Bangkok"
          },
          "preferences" : {
            "bedTypePref" : "King bed",
            "cuisinePref" : "Thai",
            "foodSrvcPref" : "In-room dining",
            "guestType" : "Business traveler",
            "hotelChainPref" : "Mandarin Oriental",
            "mealPref" : "Continental breakfast",
            "physChalFeaturePref" : "Wheelchair accessible rooms",
            "propertyLocationPref" : "Beachfront",
            "propertyTypePref" : "Luxury Resort",
            "roomLocationPref" : "High floor with city view",
            "smokingAllowed" : false
          },
          "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "share" : true,
          "user" : {
            "email" : "alexandra@beaumont.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phone" : "+66212658866",
            "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
          },
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
          "version" : 3
        },
        "properties" : {
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "personal" : {
            "$ref" : "#/components/schemas/PersonalLightweight_SupplierDetails",
            "description" : "Detailed customer information for this profile"
          },
          "preferences" : {
            "$ref" : "#/components/schemas/Preferences_SupplierDetails",
            "description" : "Customer preferences"
          },
          "profileIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Profile identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "share" : {
            "type" : "boolean",
            "description" : "Indicates whether the user wants to share this profile of themselves with hotel(s)",
            "example" : true
          },
          "user" : {
            "$ref" : "#/components/schemas/ProfileUser_SupplierDetails",
            "description" : "User details"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "User identifier",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "minLength" : 1
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "personal", "preferences", "profileIdentifier", "share", "user", "userIdentifier" ]
      },
      "ProfileUser_SupplierDetails" : {
        "type" : "object",
        "example" : {
          "email" : "alexandra@beaumont.com",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "lastName" : "Beaumont",
          "phone" : "+66212658866",
          "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "User email address",
            "example" : "alexandra@beaumont.com"
          },
          "firstName" : {
            "type" : "string",
            "description" : "User first name",
            "example" : "Alexandra"
          },
          "fullName" : {
            "type" : "string",
            "description" : "Full name",
            "example" : "Alexandra Beaumont",
            "readOnly" : true
          },
          "lastName" : {
            "type" : "string",
            "description" : "User last name",
            "example" : "Beaumont"
          },
          "phone" : {
            "type" : "string",
            "description" : "User phone number",
            "example" : "+66212658866",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "profilePictureUrl" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Profile picture URL",
            "example" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
          }
        }
      },
      "PropertyAggregateLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight projection of a property aggregate, used for search results, listings, and map markers where not all property details are required.",
        "example" : {
          "activities" : 3,
          "addOns" : 5,
          "address" : {
            "city" : "Bangkok",
            "countryCode" : "TH",
            "line1" : "3/2 Khao Road",
            "postalCode" : "10300",
            "state" : "Bangkok"
          },
          "aggregateGreendexRating" : 7.0,
          "aggregateReviewRating" : 8.7,
          "architecturalStyle" : "7",
          "attractions" : 5,
          "available" : true,
          "bookings" : 6054,
          "brand" : "The Siam Residences",
          "chain" : "The Siam Collection",
          "currencyCode" : "THB",
          "descriptions" : [ {
            "description" : "An elegant riverside sanctuary in the heart of Bangkok.",
            "language" : "en",
            "title" : "Luxury Riverside Retreat"
          } ],
          "hotelAmenityCodes" : [ "1", "7" ],
          "hotelCategory" : "45",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "images" : [ {
            "identifier" : "the-siam-residences/lobby-entrance",
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "type" : "IMAGE"
          } ],
          "lifestyleTypes" : [ "LIFESTYLE_HEALTH_FITNESS" ],
          "localName" : "เดอะสยาม เรสซิเดนซ์",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "Point"
          },
          "locationCategory" : "34",
          "meetingRooms" : 2,
          "name" : "The Siam Residences, Bangkok",
          "numberOfRooms" : 32,
          "places" : 9,
          "propertyAccessibilityCodes" : [ "1" ],
          "propertySecurityCodes" : [ "7" ],
          "reservations" : {
            "email" : "reservations@thesiamresidences.com",
            "firstName" : "Somchai",
            "lastName" : "Phattanapong",
            "phone" : "+66-2-123-4567"
          },
          "restaurants" : 2,
          "score" : 70,
          "segmentCategory" : "7",
          "socials" : [ {
            "handle" : "thesiamresidences",
            "platform" : "INSTAGRAM"
          } ],
          "spas" : 1,
          "starRating" : 5,
          "thirdPartyReviews" : [ ],
          "totalReviews" : 989,
          "uniqueId" : "siam-residences-bkk",
          "urlName" : "the-siam-residences-bangkok-thailand",
          "videos" : [ ],
          "whenBuilt" : "1927"
        },
        "properties" : {
          "activities" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of activites property has listed on its profile.",
            "example" : 3
          },
          "addOns" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of add-ons property has on its profile.",
            "example" : 5
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_SupplierDetails",
            "description" : "Property address."
          },
          "aggregateGreendexRating" : {
            "type" : "number",
            "format" : "float",
            "default" : "0.0",
            "description" : "Aggregate Green Index score if the property has answered our questionnaire available in the Extranet.",
            "example" : 7.0
          },
          "aggregateReviewRating" : {
            "type" : "number",
            "format" : "float",
            "default" : "0.0",
            "description" : "Aggregate score based on all current user reviews.",
            "example" : 7.8
          },
          "architecturalStyle" : {
            "type" : "string",
            "description" : "Supported OTA specification `ARC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "7"
          },
          "attractions" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of attractions property has listed on its profile.",
            "example" : 5
          },
          "available" : {
            "type" : "boolean",
            "description" : "Whether property is available",
            "example" : true
          },
          "bookings" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Number of bookings for this property on the wink.travel platform.",
            "example" : 6054
          },
          "brand" : {
            "type" : "string",
            "description" : "Name of hotel brand",
            "example" : "Hotel brand"
          },
          "chain" : {
            "type" : "string",
            "description" : "Name of hotel chain if applicable.",
            "example" : "Hotel chain"
          },
          "city" : {
            "$ref" : "#/components/schemas/GeoNameLightweight_SupplierDetails",
            "description" : "City location"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code for property.",
            "example" : "THB",
            "pattern" : "^[A-Z]{3}$"
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Short and long welcome text",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_SupplierDetails"
            }
          },
          "generalManager" : {
            "$ref" : "#/components/schemas/GeneralManager_SupplierDetails",
            "description" : "General manager of the property."
          },
          "hotelAmenityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `HAC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : [ "1", "7" ],
            "items" : {
              "type" : "string"
            }
          },
          "hotelCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `PCT` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "45"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique hotel record identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
          },
          "images" : {
            "type" : "array",
            "description" : "Property images.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_SupplierDetails"
            }
          },
          "lastUpdate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp of the last update to this property aggregate record."
          },
          "lifestyleTypes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "A list of lifestyles the property associates with.",
              "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
              "example" : "LIFESTYLE_HEALTH_FITNESS"
            }
          },
          "localName" : {
            "type" : "string",
            "description" : "Hotel local name if different from the trade name or if it is the local language.",
            "example" : "Det Beste Hotellet"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_SupplierDetails",
            "description" : "Geo-location",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "locationCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `LOC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "34"
          },
          "meetingRooms" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of meeting rooms property has on its profile.",
            "example" : 2
          },
          "name" : {
            "type" : "string",
            "description" : "Hotel trade name",
            "example" : "The Siam Residences, Bangkok"
          },
          "numberOfRooms" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of rooms / keys for this property.",
            "example" : 32
          },
          "places" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of places property has listed on its profile.",
            "example" : 9
          },
          "policy" : {
            "$ref" : "#/components/schemas/PropertyPolicy_SupplierDetails",
            "description" : "Basic property policy record."
          },
          "propertyAccessibilityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : [ "1", "7" ],
            "items" : {
              "type" : "string"
            }
          },
          "propertySecurityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : [ "1", "7" ],
            "items" : {
              "type" : "string"
            }
          },
          "reservations" : {
            "$ref" : "#/components/schemas/Contact_SupplierDetails",
            "description" : "Contact details for reservations desk"
          },
          "restaurants" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of restaurants property has on its profile.",
            "example" : 2
          },
          "score" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Demand score (0-100) derived from booking volume and review rating. Recomputed monthly; used to rank properties in search results.",
            "example" : 70
          },
          "segmentCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `SEG` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "7"
          },
          "socials" : {
            "type" : "array",
            "description" : "Property's social network accounts",
            "items" : {
              "$ref" : "#/components/schemas/Social_SupplierDetails"
            }
          },
          "spas" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of spas property has on its profile.",
            "example" : 1
          },
          "starRating" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Official or self-designated property star rating. Note that in some regions there are 6-star hotels. They are the same as 5-star hotels everywhere else.",
            "example" : 5,
            "maximum" : 6,
            "minimum" : 0
          },
          "thirdPartyReviews" : {
            "type" : "array",
            "description" : "Array of awards and third party reviews given to property by certified / non-certified providers.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_SupplierDetails"
            }
          },
          "totalReviews" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Count of total reviews left by users at this property.",
            "example" : 989
          },
          "uniqueId" : {
            "type" : "string",
            "description" : "Event shorter name",
            "example" : "abc123",
            "minLength" : 1
          },
          "urlName" : {
            "type" : "string",
            "description" : "Unique URL-friendly name slug of hotel",
            "example" : "the-siam-residences-bangkok-thailand",
            "pattern" : "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
          },
          "videos" : {
            "type" : "array",
            "description" : "Property videos.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_SupplierDetails"
            }
          },
          "whenBuilt" : {
            "type" : "string",
            "description" : "Year the property was constructed.",
            "example" : "1927"
          }
        },
        "required" : [ "uniqueId" ]
      },
      "PropertyPolicy_SupplierDetails" : {
        "type" : "object",
        "description" : "Outlines basic policies for the property.",
        "example" : {
          "checkInTime" : "14:00",
          "checkOutTime" : "10:00",
          "childrenAllowed" : true,
          "childrenMinimumAge" : 6,
          "internetAvailability" : "YES",
          "internetConnectionLocation" : "ENTIRE_PROPERTY",
          "internetConnectionType" : "WIFI",
          "parkingAccess" : "PRIVATE",
          "parkingAvailability" : "YES",
          "petCharge" : {
            "amount" : 500.0,
            "currency" : "THB"
          },
          "petMaxWeightInKilos" : 10,
          "petsAllowed" : true
        },
        "properties" : {
          "checkInTime" : {
            "type" : "string",
            "description" : "When the guest can check in.",
            "example" : "14:00",
            "minLength" : 1
          },
          "checkOutTime" : {
            "type" : "string",
            "description" : "When the guest has to check out.",
            "example" : "10:00",
            "minLength" : 1
          },
          "childrenAllowed" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates whether property allows children",
            "example" : true
          },
          "childrenMinimumAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "When a property allows children, it can also indicate what the minimum age is for children to be allowed.",
            "example" : 6
          },
          "internetAvailability" : {
            "type" : "string",
            "description" : "Indicates the availability of internet on the property.",
            "enum" : [ "YES", "NO", "YES_PAID" ],
            "example" : "YES"
          },
          "internetConnectionLocation" : {
            "type" : "string",
            "description" : "Indicates where internet is available in and around the property.",
            "enum" : [ "ENTIRE_PROPERTY", "PUBLIC_AREAS", "ALL_ROOMS", "SOME_ROOMS", "BUSINESS_CENTER" ],
            "example" : "ENTIRE_PROPERTY"
          },
          "internetConnectionType" : {
            "type" : "string",
            "description" : "Indicates how guests can access the Internet on the property.",
            "enum" : [ "WIFI", "CABLE" ],
            "example" : "WIFI"
          },
          "parkingAccess" : {
            "type" : "string",
            "description" : "Indicates what type of parking is available at the property.",
            "enum" : [ "PRIVATE", "PUBLIC" ],
            "example" : "PRIVATE"
          },
          "parkingAvailability" : {
            "type" : "string",
            "description" : "Indicates whether parking is available at the property.",
            "enum" : [ "YES", "NO", "YES_PAID" ],
            "example" : "YES"
          },
          "petCharge" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "If pets are allowed, property can tell travelers if there is a charge applicable for the pet."
          },
          "petMaxWeightInKilos" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "If pets are allowed, property can further limit on weight.",
            "example" : 10
          },
          "petsAllowed" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates whether pets are allowed on the property. Note: There are thousand different kinds of pets. Just because the property allows small dogs does not mean the guest can bring a python. Always best to check with property.",
            "example" : true
          }
        },
        "required" : [ "checkInTime", "checkOutTime", "childrenAllowed", "internetAvailability", "parkingAvailability", "petsAllowed" ]
      },
      "ReportingAncillary_SupplierDetails" : {
        "type" : "object",
        "description" : "Reporting data for a single ancillary booking, including gross and net amounts in the property's source currency.",
        "example" : {
          "currency" : "USD",
          "grossAmount" : 450.0,
          "name" : "Thai Massage",
          "netAmount" : 405.0,
          "netAmountWithRefund" : 405.0
        },
        "properties" : {
          "currency" : {
            "type" : "string",
            "description" : "The currency for these amounts.",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "grossAmount" : {
            "type" : "number",
            "description" : "The gross amount.",
            "example" : 450.0
          },
          "name" : {
            "type" : "string",
            "description" : "Full name of ancillary in English.",
            "example" : "Thai Massage"
          },
          "netAmount" : {
            "type" : "number",
            "description" : "The gross amount minus fees and commissions.",
            "example" : 405.0
          },
          "netAmountWithRefund" : {
            "type" : "number",
            "description" : "The gross amount minus fees and commissions.",
            "example" : 405.0
          }
        }
      },
      "ReportingDailyRate_SupplierDetails" : {
        "type" : "object",
        "description" : "Reporting data for a single night of a booking stay, including base, gross, and net amounts for accounting purposes.",
        "example" : {
          "baseAmount" : 450.0,
          "currency" : "USD",
          "date" : "2026-01-15",
          "grossAmount" : 405.0,
          "netAmount" : 360.0,
          "netAmountWithRefund" : 360.0
        },
        "properties" : {
          "baseAmount" : {
            "type" : "number",
            "description" : "The rate given to us by channel manager / CRS / PMS.",
            "example" : 450.0
          },
          "currency" : {
            "type" : "string",
            "description" : "The currency for these amounts.",
            "example" : "USD"
          },
          "date" : {
            "type" : "string",
            "format" : "date",
            "description" : "The rate date.",
            "example" : "2026-01-15"
          },
          "grossAmount" : {
            "type" : "number",
            "description" : "The derived amount based on promotions, member discounts etc within our platform.",
            "example" : 405.0
          },
          "netAmount" : {
            "type" : "number",
            "description" : "The gross amount minus fees and commissions.",
            "example" : 360.0
          },
          "netAmountWithRefund" : {
            "type" : "number",
            "description" : "The net amount minus potential refund. Null if booking contains no refund.",
            "example" : 360.0
          }
        }
      },
      "ReportingExtraCharge_SupplierDetails" : {
        "type" : "object",
        "description" : "Reporting data for an extra charge on a booking, including gross, net, and net-after-refund amounts.",
        "example" : {
          "currency" : "USD",
          "description" : "The charge is 50.00 USD and is charged per day.",
          "grossAmount" : 450.0,
          "name" : "Late checkout fee",
          "netAmount" : 405.0,
          "netAmountWithRefund" : 405.0
        },
        "properties" : {
          "currency" : {
            "type" : "string",
            "description" : "Currency code for these amounts.",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the extra charge.",
            "example" : "The charge is 50.00 USD and is charged per day."
          },
          "grossAmount" : {
            "type" : "number",
            "description" : "Gross amount of the extra charge.",
            "example" : 450.0
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the extra charge.",
            "example" : "Late checkout fee"
          },
          "netAmount" : {
            "type" : "number",
            "description" : "Net amount after fees and commissions.",
            "example" : 405.0
          },
          "netAmountWithRefund" : {
            "type" : "number",
            "description" : "Net amount minus any refund. Null if no refund applies.",
            "example" : 405.0
          }
        }
      },
      "ReviewAnswer_SupplierDetails" : {
        "type" : "object",
        "description" : "A guest's recorded answer to a single review question, including the score and question metadata.",
        "example" : {
          "category" : "SERVICE",
          "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
          "sort" : 1,
          "value" : 7
        },
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Category of the question (e.g., COMFORT, SERVICE, VALUE).",
            "enum" : [ "COMFORT", "CONDITION", "SERVICE", "ENVIRONMENT", "FACILITIES", "LOCATION", "LIFESTYLE", "VALUE", "FOOD", "ROOM" ],
            "example" : "SERVICE"
          },
          "questionIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Review question identifier that this answer responds to.",
            "example" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
            "minLength" : 1
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Display order of this answer within the review.",
            "example" : 1
          },
          "value" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Guest's numeric rating for this question on a 0-10 scale.",
            "example" : 7
          }
        },
        "required" : [ "category", "questionIdentifier", "sort", "value" ]
      },
      "ReviewLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight projection of a guest review, containing all publicly visible review data and metadata.",
        "example" : {
          "answers" : [ {
            "category" : "SERVICE",
            "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
            "sort" : 1,
            "value" : 7
          } ],
          "approvedImage" : false,
          "approvedText" : true,
          "averageScore" : 8.7,
          "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
          "createdDate" : "2026-01-14T09:30:00",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
          "lastUpdate" : "2026-02-03T16:45:12",
          "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
          "responded" : false,
          "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
          "reviewDate" : "2026-01-14T09:30:00",
          "roomNumber" : "501",
          "roomRating" : 9,
          "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
          "user" : {
            "email" : "reservations@thesiamresidences.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "telephone" : "+66 2 126 8866",
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "version" : 3
        },
        "properties" : {
          "answers" : {
            "type" : "array",
            "description" : "Guest's answers to each review question with their scores.",
            "items" : {
              "$ref" : "#/components/schemas/ReviewAnswer_SupplierDetails"
            }
          },
          "approvedImage" : {
            "type" : "boolean",
            "description" : "Hotel has approved the guest's photo for public display on their profile.",
            "example" : false
          },
          "approvedText" : {
            "type" : "boolean",
            "description" : "Hotel has approved this review text for public display on their profile.",
            "example" : true
          },
          "averageScore" : {
            "type" : "number",
            "format" : "double",
            "description" : "Average rating across all question answers (0-10 scale).",
            "example" : 8.7
          },
          "bookingIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Booking identifier this review is associated with.",
            "example" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92"
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property (hotel) identifier this review is for.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "imageIdentifier" : {
            "type" : "string",
            "description" : "Cloudinary image identifier for guest's photo from their stay.",
            "example" : "wink/review/siam-residences-2026-01-14-xyz123abc"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "likes" : {
            "type" : "array",
            "description" : "User identifiers who 'liked' this review.",
            "items" : {
              "type" : "string"
            }
          },
          "messageFromGuest" : {
            "type" : "string",
            "description" : "Private feedback message from guest to hotel manager. Not publicly displayed.",
            "example" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property."
          },
          "responded" : {
            "type" : "boolean",
            "description" : "Hotel has submitted a response to this review.",
            "example" : false
          },
          "responseFromHotel" : {
            "type" : "string",
            "description" : "Hotel's public response to the guest review.",
            "example" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!"
          },
          "reviewDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date and time the review was submitted.",
            "example" : "2026-01-14T09:30:00"
          },
          "roomNumber" : {
            "type" : "string",
            "description" : "Guest's room number during their stay.",
            "example" : "501"
          },
          "roomRating" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Guest's personal rating of their room on a 0-10 scale.",
            "example" : 9
          },
          "text" : {
            "type" : "string",
            "description" : "Guest's written review text.",
            "example" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home."
          },
          "user" : {
            "$ref" : "#/components/schemas/ReviewUser_SupplierDetails",
            "description" : "Guest who submitted the review."
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        }
      },
      "ReviewUser_SupplierDetails" : {
        "type" : "object",
        "description" : "Guest user details captured at the time of review submission.",
        "example" : {
          "email" : "reservations@thesiamresidences.com",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "lastName" : "Beaumont",
          "telephone" : "+66 2 126 8866",
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Guest's email address.",
            "example" : "reservations@thesiamresidences.com"
          },
          "firstName" : {
            "type" : "string",
            "description" : "Guest's first name.",
            "example" : "Alexandra"
          },
          "fullName" : {
            "type" : "string",
            "description" : "Guest's full name.",
            "example" : "Alexandra Beaumont"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Guest's last name.",
            "example" : "Beaumont"
          },
          "telephone" : {
            "type" : "string",
            "description" : "Guest's phone number.",
            "example" : "+66 2 126 8866",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "User identifier",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          }
        }
      },
      "SubCountryLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Country subdivision such as a state or province",
        "example" : {
          "asciiName" : "New York",
          "geoNameId" : "5128638",
          "name" : "New York"
        },
        "properties" : {
          "asciiName" : {
            "type" : "string",
            "description" : "Sub-country ascii name",
            "example" : "New York"
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "Sub-country GeoNames identifier",
            "example" : "5128638"
          },
          "name" : {
            "type" : "string",
            "description" : "Sub-country name",
            "example" : "New York"
          }
        }
      },
      "SubSubCountryLightweight_SupplierDetails" : {
        "type" : "object",
        "description" : "Lightweight representation of a second-level country subdivision such as a county or district",
        "example" : {
          "asciiName" : "New York County",
          "geoNameId" : "5128594",
          "name" : "New York County"
        },
        "properties" : {
          "asciiName" : {
            "type" : "string",
            "description" : "ASCII-transliterated name of the county or district, safe for URLs and sorting",
            "example" : "New York County"
          },
          "geoNameId" : {
            "type" : "string",
            "description" : "GeoNames.org unique identifier for this subdivision",
            "example" : "5128594"
          },
          "name" : {
            "type" : "string",
            "description" : "Official name of the county or district in its local script",
            "example" : "New York County"
          }
        }
      },
      "TrackingPixelParameter_SupplierDetails" : {
        "type" : "object",
        "description" : "Key-value parameter passed with a tracking pixel event; values may be static strings or runtime placeholders such as {booking.total}",
        "example" : {
          "key" : "currency",
          "value" : "USD"
        },
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Parameter name (e.g., 'currency', 'value', 'content_id')",
            "example" : "currency",
            "minLength" : 1
          },
          "value" : {
            "type" : "string",
            "description" : "Parameter value. Can be a static value or a placeholder like '{booking.total}'",
            "example" : "USD",
            "minLength" : 1
          }
        },
        "required" : [ "key", "value" ]
      },
      "TrackingPixelTrigger_SupplierDetails" : {
        "type" : "object",
        "description" : "Defines a booking funnel event that causes a tracking pixel to fire, together with optional custom key-value parameters sent with the event",
        "example" : {
          "eventType" : "PURCHASE",
          "parameters" : [ {
            "key" : "currency",
            "value" : "USD"
          } ]
        },
        "properties" : {
          "eventType" : {
            "type" : "string",
            "description" : "The event type that triggers this pixel",
            "enum" : [ "PAGE_VIEW", "SEARCH", "VIEW_CONTENT", "ADD_TO_CART", "INITIATE_CHECKOUT", "ADD_PAYMENT_INFO", "PURCHASE", "LEAD", "SIGN_UP" ],
            "example" : "PURCHASE"
          },
          "parameters" : {
            "type" : "array",
            "description" : "Custom key-value parameters to include with the event",
            "items" : {
              "$ref" : "#/components/schemas/TrackingPixelParameter_SupplierDetails"
            }
          }
        },
        "required" : [ "eventType" ]
      },
      "TrackingPixel_SupplierDetails" : {
        "type" : "object",
        "description" : "Tracking pixel or web beacon configuration that fires on specified booking events for analytics and conversion tracking",
        "example" : {
          "accessToken" : "EAABsbCS0kB4BAAI...",
          "consentCategory" : "MARKETING",
          "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
          "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
          "enabled" : true,
          "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
          "name" : "Facebook Conversion Pixel",
          "pixelId" : "1234567890",
          "provider" : "FACEBOOK",
          "triggers" : [ {
            "eventType" : "PURCHASE",
            "parameters" : [ {
              "key" : "currency",
              "value" : "USD"
            } ]
          } ],
          "type" : "JAVASCRIPT"
        },
        "properties" : {
          "accessToken" : {
            "type" : "string",
            "description" : "Optional access token for providers that require authentication",
            "example" : "EAABsbCS0kB4BAAI..."
          },
          "consentCategory" : {
            "type" : "string",
            "description" : "Consent category for GDPR/CCPA compliance",
            "enum" : [ "STRICTLY_NECESSARY", "FUNCTIONAL", "ANALYTICS", "MARKETING" ],
            "example" : "MARKETING"
          },
          "customImageUrl" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Custom image URL for IMAGE type pixels. Will be loaded as a 1x1 tracking pixel.",
            "example" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif"
          },
          "customScript" : {
            "type" : "string",
            "description" : "Custom JavaScript code for CUSTOM provider type. Will be injected into the page.",
            "example" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);"
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this tracking pixel is currently active",
            "example" : true
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this tracking pixel",
            "example" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
            "minLength" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "User-friendly name for this tracking pixel",
            "example" : "Facebook Conversion Pixel",
            "minLength" : 1
          },
          "pageTypes" : {
            "type" : "array",
            "description" : "Page types where this pixel should fire. Empty list or containing ALL means fire on all pages.",
            "items" : {
              "type" : "string",
              "description" : "Booking engine page types on which a tracking pixel can be configured to fire; use ALL to fire on every page",
              "enum" : [ "ALL", "LANDING_PAGE", "SEARCH_RESULTS", "ROOM_SELECTION", "CHECKOUT", "CONFIRMATION" ]
            }
          },
          "pixelId" : {
            "type" : "string",
            "description" : "Provider-specific pixel ID (e.g., Facebook Pixel ID, Google Ads Conversion ID)",
            "example" : "1234567890"
          },
          "provider" : {
            "type" : "string",
            "description" : "Tracking pixel provider",
            "enum" : [ "FACEBOOK", "GOOGLE_ADS", "GOOGLE_ANALYTICS", "TIKTOK", "LINKEDIN", "PINTEREST", "SNAPCHAT", "TWITTER", "SOJOURN", "CUSTOM" ],
            "example" : "FACEBOOK"
          },
          "triggers" : {
            "type" : "array",
            "description" : "Event triggers that cause this pixel to fire, with optional custom parameters.",
            "items" : {
              "$ref" : "#/components/schemas/TrackingPixelTrigger_SupplierDetails"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Type of tracking pixel delivery mechanism",
            "enum" : [ "JAVASCRIPT", "IMAGE" ],
            "example" : "JAVASCRIPT"
          }
        },
        "required" : [ "consentCategory", "identifier", "name", "provider", "type" ]
      },
      "AggregateDescriptor_Supplier" : {
        "type" : "object",
        "description" : "Descriptor that defines an aggregate function to apply to a specific field in a grouped result set.",
        "example" : {
          "aggregate" : "count",
          "field" : "hotel.bookings"
        },
        "properties" : {
          "aggregate" : {
            "type" : "string",
            "description" : "Aggregate function",
            "enum" : [ "count", "sum", "average", "min", "max" ],
            "example" : "count"
          },
          "field" : {
            "type" : "string",
            "description" : "Field to run aggregate function on",
            "example" : "hotel.bookings"
          }
        }
      },
      "CompositeFilterDescriptor_Supplier" : {
        "type" : "object",
        "description" : "Top-level filter container that combines one or more field-level filter descriptors using a logical operator.",
        "example" : {
          "filters" : [ {
            "field" : "hotel.name",
            "ignoreCase" : true,
            "operator" : "startsWith",
            "value" : "Happy Res"
          } ],
          "logic" : "and"
        },
        "properties" : {
          "filters" : {
            "type" : "array",
            "description" : "Descriptors used for filtering the result set",
            "items" : {
              "$ref" : "#/components/schemas/FilterDescriptor_Supplier"
            }
          },
          "logic" : {
            "type" : "string",
            "description" : "Whether to filter inclusively or exclusively",
            "enum" : [ "and", "or" ],
            "example" : "and"
          }
        }
      },
      "FilterDescriptor_Supplier" : {
        "type" : "object",
        "description" : "A single field-level filter criterion that specifies what to match and how to compare it.",
        "example" : {
          "field" : "hotel.name",
          "ignoreCase" : true,
          "operator" : "startsWith",
          "value" : "Happy Res"
        },
        "properties" : {
          "field" : {
            "type" : "string",
            "description" : "Field name to filter on",
            "example" : "hotel.name",
            "minLength" : 1
          },
          "ignoreCase" : {
            "type" : "boolean",
            "description" : "Make filter comparison case insensitive. Default: Case sensitive ",
            "example" : true
          },
          "operator" : {
            "type" : "string",
            "description" : "Filter operator to use on field",
            "enum" : [ "neq", "eq", "contains", "doesnotcontain", "isnull", "isnotnull", "isempty", "isnotempty", "startswith", "endswith", "gte", "lte", "gt", "lt", "in", "nin" ],
            "example" : "startsWith"
          },
          "value" : {
            "description" : "Value to filter dataset against",
            "example" : "Happy Res"
          }
        },
        "required" : [ "field", "operator" ]
      },
      "GroupDescriptor_Supplier" : {
        "type" : "object",
        "description" : "Descriptor that defines how a result set should be grouped, including sort direction and optional aggregate calculations.",
        "example" : {
          "aggregates" : [ {
            "aggregate" : "count",
            "field" : "hotel.bookings"
          } ],
          "dir" : "asc",
          "field" : "createdDate"
        },
        "properties" : {
          "aggregates" : {
            "type" : "array",
            "description" : "Primitive aggregate data points",
            "items" : {
              "$ref" : "#/components/schemas/AggregateDescriptor_Supplier"
            }
          },
          "dir" : {
            "type" : "string",
            "description" : "Group sort direction",
            "enum" : [ "asc", "desc" ],
            "example" : "asc"
          },
          "field" : {
            "type" : "string",
            "description" : "Field to group data set on",
            "example" : "createdDate"
          }
        }
      },
      "SortDescriptor_Supplier" : {
        "type" : "object",
        "description" : "Descriptor that defines the sort direction and field for ordering a result set.",
        "example" : {
          "dir" : "asc",
          "field" : "hotel.name"
        },
        "properties" : {
          "dir" : {
            "type" : "string",
            "description" : "Descriptors used for sorting result set",
            "enum" : [ "asc", "desc" ],
            "example" : "asc"
          },
          "field" : {
            "type" : "string",
            "description" : "Data set field to sort on",
            "example" : "hotel.name"
          }
        }
      },
      "State_Supplier" : {
        "type" : "object",
        "description" : "Pagination, sorting, filtering, and grouping state used to query a paged result set.",
        "example" : {
          "filter" : {
            "filters" : [ {
              "field" : "hotel.name",
              "ignoreCase" : true,
              "operator" : "startsWith",
              "value" : "Happy Res"
            } ],
            "logic" : "and"
          },
          "group" : [ {
            "aggregates" : [ {
              "aggregate" : "count",
              "field" : "hotel.bookings"
            } ],
            "dir" : "asc",
            "field" : "createdDate"
          } ],
          "skip" : 0,
          "sort" : [ {
            "dir" : "asc",
            "field" : "hotel.name"
          } ],
          "take" : 10
        },
        "properties" : {
          "filter" : {
            "$ref" : "#/components/schemas/CompositeFilterDescriptor_Supplier",
            "description" : "Descriptors used for filtering result set"
          },
          "group" : {
            "type" : "array",
            "description" : "Descriptors to group result sets by.",
            "items" : {
              "$ref" : "#/components/schemas/GroupDescriptor_Supplier"
            }
          },
          "skip" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of records to be skipped by the pager.",
            "example" : 0,
            "minimum" : 0
          },
          "sort" : {
            "type" : "array",
            "description" : "Descriptors used for sorting result set.",
            "items" : {
              "$ref" : "#/components/schemas/SortDescriptor_Supplier"
            }
          },
          "take" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 30,
            "description" : "Number of records to take.",
            "example" : 10,
            "maximum" : 180,
            "minimum" : 1
          }
        }
      },
      "InventoryLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a bookable inventory item, used by consumers outside the inventory module.",
        "example" : {
          "address" : {
            "city" : {
              "country" : {
                "continent" : "AS",
                "countryCode" : "TH",
                "geoNameId" : "1605651",
                "name" : "Thailand"
              },
              "geoNameId" : "1609350",
              "name" : "Bangkok"
            },
            "countryCode" : "TH",
            "line1" : "9 Thanon Krung Thonburi",
            "postalCode" : "10600",
            "state" : "Bangkok"
          },
          "bookable" : true,
          "commissionable" : true,
          "createdDate" : "2026-01-14T09:30:00",
          "enabled" : true,
          "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "image" : {
            "descriptions" : [ {
              "description" : "Spacious deluxe room with panoramic city views",
              "language" : "en",
              "title" : "Deluxe City View Room"
            } ],
            "identifier" : "the-siam-residences/deluxe-room-city-view",
            "isLandscape" : true,
            "multimediaIdentifier" : "2b4d6f8a-0c2e-4a6b-8d0f-2c4e6a8b0d2f",
            "published" : true,
            "sort" : 10,
            "type" : "IMAGE"
          },
          "inventoryIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
          "inventoryName" : "Deluxe Room with City View",
          "inventoryNameInEnglish" : "Deluxe City View Room",
          "inventoryType" : "GUEST_ROOM",
          "lastUpdate" : "2026-03-10T14:15:00",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "Point"
          },
          "lowestDisplayPrice" : {
            "amount" : 125.0,
            "currency" : "USD"
          },
          "lowestPrice" : {
            "amount" : 4500.0,
            "currency" : "THB"
          },
          "pricePoint" : "THREE",
          "quantity" : 50,
          "salesChannel" : {
            "channelDisabled" : false,
            "enabled" : true,
            "identifier" : "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52",
            "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "ownerName" : "The Siam Residences",
            "subType" : "DIRECT",
            "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "supplierName" : "The Siam Residences, Bangkok"
          }
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Defaults to property address."
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether inventory can be booked",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether this is commissionable or not",
            "example" : true
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this inventory is enabled or not",
            "example" : true
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "image" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_Supplier",
            "description" : "Main image of inventory"
          },
          "inventoryIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Inventory type identifier",
            "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
            "minLength" : 1
          },
          "inventoryName" : {
            "type" : "string",
            "description" : "Name of inventory as hotel is seeing it",
            "example" : "Deluxe Room with City View",
            "minLength" : 1
          },
          "inventoryNameInEnglish" : {
            "type" : "string",
            "description" : "Name of inventory as traveler is seeing it",
            "example" : "Deluxe City View Room",
            "minLength" : 1
          },
          "inventoryType" : {
            "type" : "string",
            "description" : "Inventory type",
            "enum" : [ "GUEST_ROOM", "ADD_ON", "MEETING_ROOM", "RESTAURANT", "SPA", "ATTRACTION", "PLACE", "ACTIVITY" ],
            "example" : "GUEST_ROOM"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Location",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "lowestDisplayPrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Best price of the room type or facility ancillary in platform currency"
          },
          "lowestPrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Best price of the room type or facility ancillary"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "quantity",
            "example" : 100
          },
          "salesChannel" : {
            "$ref" : "#/components/schemas/SalesChannelLightweight_Supplier",
            "description" : "Parent sales channel"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "address", "bookable", "commissionable", "enabled", "image", "inventoryIdentifier", "inventoryName", "inventoryNameInEnglish", "inventoryType", "location", "pricePoint", "quantity", "salesChannel" ]
      },
      "PageResponseInventoryLightweight_Supplier" : {
        "type" : "object",
        "description" : "Owned pagination envelope: a page of content plus flat page metadata.",
        "example" : {
          "content" : [ {
            "address" : {
              "city" : {
                "country" : {
                  "continent" : "AS",
                  "countryCode" : "TH",
                  "geoNameId" : "1605651",
                  "name" : "Thailand"
                },
                "geoNameId" : "1609350",
                "name" : "Bangkok"
              },
              "countryCode" : "TH",
              "line1" : "9 Thanon Krung Thonburi",
              "postalCode" : "10600",
              "state" : "Bangkok"
            },
            "bookable" : true,
            "commissionable" : true,
            "createdDate" : "2026-01-14T09:30:00",
            "enabled" : true,
            "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "image" : {
              "descriptions" : [ {
                "description" : "Spacious deluxe room with panoramic city views",
                "language" : "en",
                "title" : "Deluxe City View Room"
              } ],
              "identifier" : "the-siam-residences/deluxe-room-city-view",
              "isLandscape" : true,
              "multimediaIdentifier" : "2b4d6f8a-0c2e-4a6b-8d0f-2c4e6a8b0d2f",
              "published" : true,
              "sort" : 10,
              "type" : "IMAGE"
            },
            "inventoryIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
            "inventoryName" : "Deluxe Room with City View",
            "inventoryNameInEnglish" : "Deluxe City View Room",
            "inventoryType" : "GUEST_ROOM",
            "lastUpdate" : "2026-03-10T14:15:00",
            "location" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "Point"
            },
            "lowestDisplayPrice" : {
              "amount" : 125.0,
              "currency" : "USD"
            },
            "lowestPrice" : {
              "amount" : 4500.0,
              "currency" : "THB"
            },
            "pricePoint" : "THREE",
            "quantity" : 50,
            "salesChannel" : {
              "channelDisabled" : false,
              "enabled" : true,
              "identifier" : "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52",
              "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "ownerName" : "The Siam Residences",
              "subType" : "DIRECT",
              "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "supplierName" : "The Siam Residences, Bangkok"
            }
          } ],
          "first" : true,
          "last" : false,
          "number" : 0,
          "numberOfElements" : 20,
          "size" : 20,
          "totalElements" : 1234,
          "totalPages" : 62
        },
        "properties" : {
          "content" : {
            "type" : "array",
            "description" : "The elements on this page.",
            "items" : {
              "$ref" : "#/components/schemas/InventoryLightweight_Supplier"
            }
          },
          "first" : {
            "type" : "boolean",
            "description" : "Whether this is the first page.",
            "example" : true
          },
          "last" : {
            "type" : "boolean",
            "description" : "Whether this is the last page.",
            "example" : false
          },
          "number" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Zero-based index of this page.",
            "example" : 0
          },
          "numberOfElements" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of elements on this page.",
            "example" : 20
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The requested page size.",
            "example" : 20
          },
          "totalElements" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of elements across all pages.",
            "example" : 1234
          },
          "totalPages" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Total number of pages for the current page size.",
            "example" : 62
          }
        }
      },
      "SalesChannelLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a SalesChannel representing a configured distribution relationship between a supplier and an affiliate.",
        "example" : {
          "blacklisted" : false,
          "channelDisabled" : false,
          "commission" : 0.2,
          "createdDate" : "2026-01-14T09:30:00",
          "enabled" : true,
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "ownerName" : "The Siam Residences",
          "percentDiscount" : 0.15,
          "rateModifierBundles" : [ {
            "aggregatedItemDescriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "createdDate" : "2026-01-14T09:30:00",
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "effectiveDescriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "enabled" : true,
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "items" : [ {
              "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
              "advanceBookingRateQualifier" : {
                "maxAdvanceBookingOffset" : 365,
                "minAdvanceBookingOffset" : 7
              },
              "arrivalDaysOfWeekRateQualifier" : {
                "daysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                }
              },
              "availableDaysOfWeekRateQualifier" : {
                "daysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                }
              },
              "blackoutDates" : [ {
                "effectiveDate" : "2026-04-13",
                "expireDate" : "2026-04-15"
              } ],
              "cityRateQualifiers" : [ {
                "city" : {
                  "countryCode" : "TH",
                  "geoNameId" : "1609350",
                  "latitude" : 13.7563,
                  "longitude" : 100.5018,
                  "name" : "Bangkok"
                }
              } ],
              "continentRateQualifiers" : [ {
                "continent" : "NA"
              } ],
              "countryRateQualifiers" : [ {
                "country" : {
                  "continentCode" : "AS",
                  "geoNameId" : "1609350",
                  "isoAlpha2" : "TH",
                  "isoAlpha3" : "THA",
                  "name" : "Thailand"
                }
              } ],
              "createdDate" : "2026-01-14T09:30:00",
              "departureDaysOfWeekRateQualifier" : {
                "daysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                }
              },
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "enabled" : true,
              "geoLocationRateQualifiers" : [ {
                "latitude" : 13.7563,
                "longitude" : 100.5018,
                "radiusInKilometers" : 50
              } ],
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "ipRangeRateQualifiers" : [ {
                "endIPRange" : "192.168.1.255",
                "startIPRange" : "192.168.1.0"
              } ],
              "lastMinuteRateQualifier" : {
                "seconds" : 1440
              },
              "lastUpdate" : "2026-02-03T16:45:12",
              "lengthOfStayRateQualifier" : {
                "maxLOS" : 30,
                "minLOS" : 3
              },
              "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
              "modifier" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "name" : "Early bird",
              "prepayRateQualifier" : {
                "prepay" : true
              },
              "pricingType" : "PER_PERSON_PER_NIGHT",
              "promotionRateQualifiers" : [ {
                "promotion" : "EARLYBIRD2026"
              } ],
              "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
              "refundableRateQualifier" : {
                "refundable" : true
              },
              "requiredDaysOfWeekRateQualifier" : {
                "daysOfWeek" : {
                  "disabled" : true,
                  "fri" : true,
                  "mon" : true,
                  "sat" : true,
                  "sun" : true,
                  "thu" : true,
                  "tue" : true,
                  "wed" : true
                }
              },
              "roomRangeRateQualifier" : {
                "maxRooms" : 4,
                "minRooms" : 1
              },
              "sellDateRateQualifiers" : [ {
                "effectiveDate" : "2026-05-01",
                "expireDate" : "2026-08-31"
              } ],
              "stayDateRateQualifiers" : [ {
                "effectiveDate" : "2026-06-01",
                "expireDate" : "2026-08-31"
              } ],
              "timezoneRateQualifiers" : [ {
                "timezone" : "Asia/Bangkok"
              } ],
              "type" : "DISCOUNT",
              "version" : 3
            } ],
            "lastUpdate" : "2026-02-03T16:45:12",
            "modifierOverride" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "name" : "Early bird - Long Term",
            "pricingType" : "PER_NIGHT",
            "type" : "DISCOUNT",
            "version" : 3
          } ],
          "rateModifiers" : [ {
            "addOnIdentifiers" : [ "880e8400-e29b-41d4-a716-446655440333" ],
            "advanceBookingRateQualifier" : {
              "maxAdvanceBookingOffset" : 365,
              "minAdvanceBookingOffset" : 7
            },
            "arrivalDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "availableDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "blackoutDates" : [ {
              "effectiveDate" : "2026-04-13",
              "expireDate" : "2026-04-15"
            } ],
            "cityRateQualifiers" : [ {
              "city" : {
                "countryCode" : "TH",
                "geoNameId" : "1609350",
                "latitude" : 13.7563,
                "longitude" : 100.5018,
                "name" : "Bangkok"
              }
            } ],
            "continentRateQualifiers" : [ {
              "continent" : "NA"
            } ],
            "countryRateQualifiers" : [ {
              "country" : {
                "continentCode" : "AS",
                "geoNameId" : "1609350",
                "isoAlpha2" : "TH",
                "isoAlpha3" : "THA",
                "name" : "Thailand"
              }
            } ],
            "createdDate" : "2026-01-14T09:30:00",
            "departureDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "enabled" : true,
            "geoLocationRateQualifiers" : [ {
              "latitude" : 13.7563,
              "longitude" : 100.5018,
              "radiusInKilometers" : 50
            } ],
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "ipRangeRateQualifiers" : [ {
              "endIPRange" : "192.168.1.255",
              "startIPRange" : "192.168.1.0"
            } ],
            "lastMinuteRateQualifier" : {
              "seconds" : 1440
            },
            "lastUpdate" : "2026-02-03T16:45:12",
            "lengthOfStayRateQualifier" : {
              "maxLOS" : 30,
              "minLOS" : 3
            },
            "masterRateIdentifiers" : [ "770e8400-e29b-41d4-a716-446655440222" ],
            "modifier" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "name" : "Early bird",
            "prepayRateQualifier" : {
              "prepay" : true
            },
            "pricingType" : "PER_PERSON_PER_NIGHT",
            "promotionRateQualifiers" : [ {
              "promotion" : "EARLYBIRD2026"
            } ],
            "ratePlanIdentifiers" : [ "990e8400-e29b-41d4-a716-446655440444" ],
            "refundableRateQualifier" : {
              "refundable" : true
            },
            "requiredDaysOfWeekRateQualifier" : {
              "daysOfWeek" : {
                "disabled" : true,
                "fri" : true,
                "mon" : true,
                "sat" : true,
                "sun" : true,
                "thu" : true,
                "tue" : true,
                "wed" : true
              }
            },
            "roomRangeRateQualifier" : {
              "maxRooms" : 4,
              "minRooms" : 1
            },
            "sellDateRateQualifiers" : [ {
              "effectiveDate" : "2026-05-01",
              "expireDate" : "2026-08-31"
            } ],
            "stayDateRateQualifiers" : [ {
              "effectiveDate" : "2026-06-01",
              "expireDate" : "2026-08-31"
            } ],
            "timezoneRateQualifiers" : [ {
              "timezone" : "Asia/Bangkok"
            } ],
            "type" : "DISCOUNT",
            "version" : 3
          } ],
          "selfAcquires" : false,
          "subType" : "DIRECT",
          "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "supplierName" : "The Siam Residences, Bangkok",
          "version" : 3
        },
        "properties" : {
          "blacklisted" : {
            "type" : "boolean",
            "description" : "A way to blacklist a specific channel a property doesn't want to send blocking to.",
            "example" : false
          },
          "channelDisabled" : {
            "type" : "boolean",
            "description" : "System override by supplier to disable channel. E.g. Platform disables supplier.",
            "example" : false
          },
          "commission" : {
            "type" : "number",
            "format" : "float",
            "description" : "Amount of sales commission earned through this channel and all its children [unless configured at the child level].",
            "example" : 0.2,
            "maximum" : 1.0,
            "minimum" : 0.0
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Flag the supplier can use to enable / disable this channel",
            "example" : true
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "A specific identifier for the company / corporation / travel agency that is retrieving the rates",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
          },
          "ownerName" : {
            "type" : "string",
            "description" : "Name of the owner / affiliate. `Hotel booking customization` when it's the booking customization.",
            "example" : "The Siam Residences"
          },
          "percentDiscount" : {
            "type" : "number",
            "format" : "float",
            "description" : "Percent discount on this channel and all its children [unless configured at the child level].",
            "example" : 0.15,
            "maximum" : 1.0,
            "minimum" : 0.0
          },
          "rateModifierBundles" : {
            "type" : "array",
            "description" : "Promotion bundles for this channel",
            "items" : {
              "$ref" : "#/components/schemas/SpecialRateBundleLightweight_Supplier"
            }
          },
          "rateModifiers" : {
            "type" : "array",
            "description" : "Promotions for this channel",
            "items" : {
              "$ref" : "#/components/schemas/SpecialRateLightweight_Supplier"
            }
          },
          "selfAcquires" : {
            "type" : "boolean",
            "description" : "Whether the sales channel is a self-acquiring entity.",
            "example" : false
          },
          "subType" : {
            "type" : "string",
            "description" : "What type of segment of channel is this.",
            "enum" : [ "TRIP_PAY", "FACILITATOR", "DIRECT", "APPLICATION", "HOTEL", "TRAVELIKO", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "GOOGLE_HOTEL_API", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ],
            "example" : "DIRECT"
          },
          "supplierIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Channel is owned by this supplier identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "supplierName" : {
            "type" : "string",
            "description" : "Name of property / supplier that owns this channel",
            "example" : "The Siam Residences, Bangkok",
            "minLength" : 1
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "blacklisted", "id", "subType", "supplierIdentifier", "supplierName" ]
      },
      "InviteAffiliateRequest_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Request to send an affiliate invitation email, linking a property to an affiliate partner.",
        "example" : {
          "affiliateEmail" : "partner@travelagency.com",
          "affiliateName" : "Global Travel Agency",
          "hotelEmail" : "reservations@thesiamresidences.com"
        },
        "properties" : {
          "affiliateEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email of the affiliate",
            "example" : "partner@travelagency.com",
            "minLength" : 1
          },
          "affiliateName" : {
            "type" : "string",
            "description" : "The name of the affiliate",
            "example" : "Global Travel Agency",
            "minLength" : 1
          },
          "hotelEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "The email of the property",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          }
        },
        "required" : [ "affiliateEmail", "affiliateName", "hotelEmail" ]
      },
      "BooleanResponse_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Standard immutable response wrapper that returns a success/failure indicator with an optional message.",
        "example" : {
          "message" : "User has permission to access this resource",
          "success" : true
        },
        "properties" : {
          "message" : {
            "type" : "string",
            "description" : "A message indicating more textual information. Mostly used to convey an error message.",
            "example" : "User has permission to access this resource"
          },
          "success" : {
            "type" : "boolean",
            "description" : "Whether call to endpoint was successful or not.",
            "example" : true
          }
        }
      },
      "AggregateDescriptor_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Descriptor that defines an aggregate function to apply to a specific field in a grouped result set.",
        "example" : {
          "aggregate" : "count",
          "field" : "hotel.bookings"
        },
        "properties" : {
          "aggregate" : {
            "type" : "string",
            "description" : "Aggregate function",
            "enum" : [ "count", "sum", "average", "min", "max" ],
            "example" : "count"
          },
          "field" : {
            "type" : "string",
            "description" : "Field to run aggregate function on",
            "example" : "hotel.bookings"
          }
        }
      },
      "CompositeFilterDescriptor_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Top-level filter container that combines one or more field-level filter descriptors using a logical operator.",
        "example" : {
          "filters" : [ {
            "field" : "hotel.name",
            "ignoreCase" : true,
            "operator" : "startsWith",
            "value" : "Happy Res"
          } ],
          "logic" : "and"
        },
        "properties" : {
          "filters" : {
            "type" : "array",
            "description" : "Descriptors used for filtering the result set",
            "items" : {
              "$ref" : "#/components/schemas/FilterDescriptor_Authenticated_Entity"
            }
          },
          "logic" : {
            "type" : "string",
            "description" : "Whether to filter inclusively or exclusively",
            "enum" : [ "and", "or" ],
            "example" : "and"
          }
        }
      },
      "FilterDescriptor_Authenticated_Entity" : {
        "type" : "object",
        "description" : "A single field-level filter criterion that specifies what to match and how to compare it.",
        "example" : {
          "field" : "hotel.name",
          "ignoreCase" : true,
          "operator" : "startsWith",
          "value" : "Happy Res"
        },
        "properties" : {
          "field" : {
            "type" : "string",
            "description" : "Field name to filter on",
            "example" : "hotel.name",
            "minLength" : 1
          },
          "ignoreCase" : {
            "type" : "boolean",
            "description" : "Make filter comparison case insensitive. Default: Case sensitive ",
            "example" : true
          },
          "operator" : {
            "type" : "string",
            "description" : "Filter operator to use on field",
            "enum" : [ "neq", "eq", "contains", "doesnotcontain", "isnull", "isnotnull", "isempty", "isnotempty", "startswith", "endswith", "gte", "lte", "gt", "lt", "in", "nin" ],
            "example" : "startsWith"
          },
          "value" : {
            "description" : "Value to filter dataset against",
            "example" : "Happy Res"
          }
        },
        "required" : [ "field", "operator" ]
      },
      "GroupDescriptor_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Descriptor that defines how a result set should be grouped, including sort direction and optional aggregate calculations.",
        "example" : {
          "aggregates" : [ {
            "aggregate" : "count",
            "field" : "hotel.bookings"
          } ],
          "dir" : "asc",
          "field" : "createdDate"
        },
        "properties" : {
          "aggregates" : {
            "type" : "array",
            "description" : "Primitive aggregate data points",
            "items" : {
              "$ref" : "#/components/schemas/AggregateDescriptor_Authenticated_Entity"
            }
          },
          "dir" : {
            "type" : "string",
            "description" : "Group sort direction",
            "enum" : [ "asc", "desc" ],
            "example" : "asc"
          },
          "field" : {
            "type" : "string",
            "description" : "Field to group data set on",
            "example" : "createdDate"
          }
        }
      },
      "SortDescriptor_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Descriptor that defines the sort direction and field for ordering a result set.",
        "example" : {
          "dir" : "asc",
          "field" : "hotel.name"
        },
        "properties" : {
          "dir" : {
            "type" : "string",
            "description" : "Descriptors used for sorting result set",
            "enum" : [ "asc", "desc" ],
            "example" : "asc"
          },
          "field" : {
            "type" : "string",
            "description" : "Data set field to sort on",
            "example" : "hotel.name"
          }
        }
      },
      "State_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Pagination, sorting, filtering, and grouping state used to query a paged result set.",
        "example" : {
          "filter" : {
            "filters" : [ {
              "field" : "hotel.name",
              "ignoreCase" : true,
              "operator" : "startsWith",
              "value" : "Happy Res"
            } ],
            "logic" : "and"
          },
          "group" : [ {
            "aggregates" : [ {
              "aggregate" : "count",
              "field" : "hotel.bookings"
            } ],
            "dir" : "asc",
            "field" : "createdDate"
          } ],
          "skip" : 0,
          "sort" : [ {
            "dir" : "asc",
            "field" : "hotel.name"
          } ],
          "take" : 10
        },
        "properties" : {
          "filter" : {
            "$ref" : "#/components/schemas/CompositeFilterDescriptor_Authenticated_Entity",
            "description" : "Descriptors used for filtering result set"
          },
          "group" : {
            "type" : "array",
            "description" : "Descriptors to group result sets by.",
            "items" : {
              "$ref" : "#/components/schemas/GroupDescriptor_Authenticated_Entity"
            }
          },
          "skip" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of records to be skipped by the pager.",
            "example" : 0,
            "minimum" : 0
          },
          "sort" : {
            "type" : "array",
            "description" : "Descriptors used for sorting result set.",
            "items" : {
              "$ref" : "#/components/schemas/SortDescriptor_Authenticated_Entity"
            }
          },
          "take" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 30,
            "description" : "Number of records to take.",
            "example" : 10,
            "maximum" : 180,
            "minimum" : 1
          }
        }
      },
      "DisplayCompanyWithSalesMetrics_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Booking sales metrics for a managing entity, enriched with company profile data including location, image, and online presence.",
        "example" : {
          "annualTravelSpendInDollars" : {
            "amount" : 250000.0,
            "currency" : "USD"
          },
          "averageBookingAmount" : 1500.0,
          "bookings" : 42,
          "city" : "Bangkok",
          "cityGeoNameId" : "1609350",
          "continent" : "Asia",
          "country" : "Thailand",
          "countryGeoNameId" : "1605651",
          "currencyCode" : "USD",
          "description" : "Luxury boutique hotel on the Chao Phraya River.",
          "onlinePresence" : [ {
            "audienceSize" : 12500,
            "audiences" : [ "TRAVEL" ],
            "disabled" : false,
            "identifier" : "@siamresidences",
            "sort" : 1,
            "type" : "INSTAGRAM"
          } ],
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "ownerImageId" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "ownerName" : "The Siam Residences",
          "totalPriceAmount" : 63000.0,
          "type" : "HOTEL",
          "urlName" : "the-siam-residences"
        },
        "properties" : {
          "annualTravelSpendInDollars" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "How much user or company spends on travel per year."
          },
          "averageBookingAmount" : {
            "type" : "number",
            "format" : "double",
            "description" : "Average booking value in the display currency.",
            "example" : 450.0
          },
          "bookings" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of bookings in this metric set.",
            "example" : 42
          },
          "city" : {
            "type" : "string",
            "description" : "The company city",
            "example" : "Bangkok"
          },
          "cityGeoNameId" : {
            "type" : "string",
            "description" : "The company city geo name ID",
            "example" : "1609350"
          },
          "continent" : {
            "type" : "string",
            "description" : "The company continent",
            "example" : "Asia"
          },
          "country" : {
            "type" : "string",
            "description" : "The company country",
            "example" : "Thailand"
          },
          "countryGeoNameId" : {
            "type" : "string",
            "description" : "The company country geo name ID",
            "example" : "1605651"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code for the monetary amounts.",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "description" : {
            "type" : "string",
            "description" : "Short description or bio of the managing entity.",
            "example" : "Luxury boutique hotel on the Chao Phraya River."
          },
          "onlinePresence" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/OnlinePresence_Authenticated_Entity",
              "description" : "Online presence of account."
            }
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The company ID.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
          },
          "ownerImageId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The company image ID",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
          },
          "ownerName" : {
            "type" : "string",
            "description" : "The company name",
            "example" : "The Siam Residences"
          },
          "totalPriceAmount" : {
            "type" : "number",
            "format" : "double",
            "description" : "Total revenue from all bookings in the display currency.",
            "example" : 450.0
          },
          "type" : {
            "type" : "string",
            "description" : "The company type",
            "enum" : [ "TRIP_PAY", "FACILITATOR", "DIRECT", "APPLICATION", "HOTEL", "TRAVELIKO", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "GOOGLE_HOTEL_API", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ],
            "example" : "HOTEL"
          },
          "urlName" : {
            "type" : "string",
            "description" : "The company url slug",
            "example" : "the-siam-residences",
            "pattern" : "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
          }
        }
      },
      "OnlinePresence_Authenticated_Entity" : {
        "type" : "object",
        "description" : "A single social network or online channel entry for a managing entity, used for public reach and affiliate marketing visibility.",
        "example" : {
          "audienceSize" : 5,
          "audiences" : [ "EVERYONE" ],
          "disabled" : false,
          "identifier" : "@siamresidences",
          "sort" : 5,
          "type" : "INSTAGRAM"
        },
        "properties" : {
          "audienceSize" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "The size of your audience.",
            "example" : 5
          },
          "audiences" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "The type of audience you have on this network.",
              "enum" : [ "EVERYONE", "ADVENTURE", "BEACH", "BUSINESS", "CULTURAL_EXPERIENCE", "EDUCATION", "FAMILY", "FOOD_AND_CULINARY", "HIKING", "HISTORICAL_SITES", "HONEYMOON", "LUXURY", "MEDICAL_TOURISM", "MUSIC_AND_FESTIVALS", "NATURE_AND_WILDLIFE", "PHOTOGRAPHY", "PILGRIMAGE", "RELAXATION", "ROAD_TRIP", "ROMANCE", "SHOPPING", "SKIING", "SOLO_TRAVEL", "SPORTS_EVENTS", "VOLUNTEERING", "WELLNESS_AND_SPA", "CITY", "WILDLIFE" ],
              "example" : "EVERYONE"
            }
          },
          "disabled" : {
            "type" : "boolean",
            "description" : "Whether to disable this entry temporarily.",
            "example" : false
          },
          "identifier" : {
            "type" : "string",
            "description" : "The url, account name or phone number that identifies this user with the specified network.",
            "example" : "@siamresidences",
            "minLength" : 1
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How you would like to order your accounts.",
            "example" : 5
          },
          "type" : {
            "type" : "string",
            "description" : "List of all active accounts that could be used for selling or seeing a company's reach.",
            "enum" : [ "WINK", "WEB_SITE", "PERSONAL_WEB_SITE", "CORPORATE_WEB_SITE", "FACEBOOK", "INSTAGRAM", "TWITTER_X", "LINKEDIN", "TIKTOK", "SNAPCHAT", "MASTODON", "THREADS", "WEIBO", "HIVE_SOCIAL", "MEWE", "ELLO", "WHATSAPP", "TELEGRAM", "SIGNAL", "WECHAT", "LINE", "KAKAOTALK", "VIBER", "DISCORD", "SKYPE", "FACEBOOK_MESSENGER", "YOUTUBE", "TWITCH", "BILIBILI", "VIMEO", "DAILYMOTION", "KICK", "UPLIVE", "PINTEREST", "BEREAL", "VSCO", "IMGUR", "FLICKR", "FIVE_HUNDRED_PX", "REDDIT", "QUORA", "TUMBLR", "PLURK", "MEDIUM", "BLUESKY", "MINDS", "STEEMIT", "DIASPORA", "WHISPER", "YIK_YAK", "TELLONYM", "GOOGLE", "GITHUB", "SPOTIFY", "UPWORK", "SHOPIFY", "AMAZON", "PERSONAL_EMAIL", "WORK_EMAIL", "ONLY_FANS", "FANSLY" ],
            "example" : "INSTAGRAM"
          }
        },
        "required" : [ "identifier", "type" ]
      },
      "PageResponseDisplayCompanyWithSalesMetrics_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Owned pagination envelope: a page of content plus flat page metadata.",
        "example" : {
          "content" : [ {
            "annualTravelSpendInDollars" : {
              "amount" : 250000.0,
              "currency" : "USD"
            },
            "averageBookingAmount" : 1500.0,
            "bookings" : 42,
            "city" : "Bangkok",
            "cityGeoNameId" : "1609350",
            "continent" : "Asia",
            "country" : "Thailand",
            "countryGeoNameId" : "1605651",
            "currencyCode" : "USD",
            "description" : "Luxury boutique hotel on the Chao Phraya River.",
            "onlinePresence" : [ {
              "audienceSize" : 12500,
              "audiences" : [ "TRAVEL" ],
              "disabled" : false,
              "identifier" : "@siamresidences",
              "sort" : 1,
              "type" : "INSTAGRAM"
            } ],
            "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "ownerImageId" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "ownerName" : "The Siam Residences",
            "totalPriceAmount" : 63000.0,
            "type" : "HOTEL",
            "urlName" : "the-siam-residences"
          } ],
          "first" : true,
          "last" : false,
          "number" : 0,
          "numberOfElements" : 20,
          "size" : 20,
          "totalElements" : 1234,
          "totalPages" : 62
        },
        "properties" : {
          "content" : {
            "type" : "array",
            "description" : "The elements on this page.",
            "items" : {
              "$ref" : "#/components/schemas/DisplayCompanyWithSalesMetrics_Authenticated_Entity"
            }
          },
          "first" : {
            "type" : "boolean",
            "description" : "Whether this is the first page.",
            "example" : true
          },
          "last" : {
            "type" : "boolean",
            "description" : "Whether this is the last page.",
            "example" : false
          },
          "number" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Zero-based index of this page.",
            "example" : 0
          },
          "numberOfElements" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of elements on this page.",
            "example" : 20
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The requested page size.",
            "example" : 20
          },
          "totalElements" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of elements across all pages.",
            "example" : 1234
          },
          "totalPages" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Total number of pages for the current page size.",
            "example" : 62
          }
        }
      },
      "SalesChannelCreateRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload to create a new sales channel linking a supplier to an affiliate owner.",
        "example" : {
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        },
        "properties" : {
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Owner identifier, in this context, is the unique company record identifier.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "supplierIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Supplier identifier is the entity that owns the inventory.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          }
        },
        "required" : [ "ownerIdentifier", "supplierIdentifier" ]
      },
      "UpsertSalesChannelRequestRequest_Supplier" : {
        "type" : "object",
        "description" : "A request for relationship between two parties.",
        "example" : {
          "introductoryMessage" : "We are interested in partnering with your property to offer discounted rates to our clientele.",
          "requestType" : "DIRECT_CONNECTION",
          "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        },
        "properties" : {
          "introductoryMessage" : {
            "type" : "string",
            "description" : "Introductory message from the requester explaining the purpose of the connection request.",
            "example" : "We are interested in partnering with your property to offer discounted rates to our clientele.",
            "minLength" : 1
          },
          "requestType" : {
            "type" : "string",
            "description" : "Type of relationship request",
            "enum" : [ "DIRECT_CONNECTION" ],
            "example" : "DIRECT_CONNECTION"
          },
          "supplierIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Supplier identifier the relationship request targets",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          }
        },
        "required" : [ "introductoryMessage", "requestType", "supplierIdentifier" ]
      },
      "SalesChannelRequestLightweight_Supplier" : {
        "type" : "object",
        "description" : "A request for relationship between two parties.",
        "example" : {
          "createdDate" : "2026-01-14T09:30:00",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "introductoryMessage" : "We represent a travel agency network with strong demand for your properties and would like to establish a partnership to offer exclusive rates to our members.",
          "lastUpdate" : "2026-02-03T16:45:12",
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "ownerName" : "The Siam Residences",
          "requestType" : "DIRECT_CONNECTION",
          "status" : "REQUESTING",
          "subType" : "APPLICATION",
          "supplierIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "supplierName" : "The Siam Residences, Bangkok",
          "version" : 3
        },
        "properties" : {
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "introductoryMessage" : {
            "type" : "string",
            "description" : "Message from requester explaining the purpose and benefits of the proposed relationship",
            "example" : "We represent a travel agency network with strong demand for your properties and would like to establish a partnership to offer exclusive rates to our members.",
            "minLength" : 1
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier of the owner/affiliate initiating the request",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "ownerName" : {
            "type" : "string",
            "description" : "Name of the owner/affiliate initiating the request",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "requestType" : {
            "type" : "string",
            "description" : "Type of relationship request",
            "enum" : [ "DIRECT_CONNECTION" ],
            "example" : "DIRECT_CONNECTION"
          },
          "status" : {
            "type" : "string",
            "description" : "Status of the relationship request",
            "enum" : [ "REQUESTING", "REJECTED" ],
            "example" : "REQUESTING"
          },
          "subType" : {
            "type" : "string",
            "description" : "Type of entity initiating the relationship request",
            "enum" : [ "TRIP_PAY", "FACILITATOR", "DIRECT", "APPLICATION", "HOTEL", "TRAVELIKO", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "GOOGLE_HOTEL_API", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ],
            "example" : "APPLICATION"
          },
          "supplierIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Supplier identifier receiving this relationship request",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "supplierName" : {
            "type" : "string",
            "description" : "Name of the property/supplier receiving the request",
            "example" : "The Siam Residences, Bangkok",
            "minLength" : 1
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "introductoryMessage", "ownerIdentifier", "ownerName", "requestType", "status", "subType", "supplierIdentifier", "supplierName" ]
      },
      "PageResponseReviewLightweight_Supplier" : {
        "type" : "object",
        "description" : "Owned pagination envelope: a page of content plus flat page metadata.",
        "example" : {
          "content" : [ {
            "answers" : [ {
              "category" : "SERVICE",
              "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
              "sort" : 1,
              "value" : 7
            } ],
            "approvedImage" : false,
            "approvedText" : true,
            "averageScore" : 8.7,
            "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
            "createdDate" : "2026-01-14T09:30:00",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
            "lastUpdate" : "2026-02-03T16:45:12",
            "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
            "responded" : false,
            "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
            "reviewDate" : "2026-01-14T09:30:00",
            "roomNumber" : "501",
            "roomRating" : 9,
            "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
            "user" : {
              "email" : "reservations@thesiamresidences.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "telephone" : "+66 2 126 8866",
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
            },
            "version" : 3
          } ],
          "first" : true,
          "last" : false,
          "number" : 0,
          "numberOfElements" : 20,
          "size" : 20,
          "totalElements" : 1234,
          "totalPages" : 62
        },
        "properties" : {
          "content" : {
            "type" : "array",
            "description" : "The elements on this page.",
            "items" : {
              "$ref" : "#/components/schemas/ReviewLightweight_Supplier"
            }
          },
          "first" : {
            "type" : "boolean",
            "description" : "Whether this is the first page.",
            "example" : true
          },
          "last" : {
            "type" : "boolean",
            "description" : "Whether this is the last page.",
            "example" : false
          },
          "number" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Zero-based index of this page.",
            "example" : 0
          },
          "numberOfElements" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of elements on this page.",
            "example" : 20
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The requested page size.",
            "example" : 20
          },
          "totalElements" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of elements across all pages.",
            "example" : 1234
          },
          "totalPages" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Total number of pages for the current page size.",
            "example" : 62
          }
        }
      },
      "ReviewAnswer_Supplier" : {
        "type" : "object",
        "description" : "A guest's recorded answer to a single review question, including the score and question metadata.",
        "example" : {
          "category" : "SERVICE",
          "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
          "sort" : 1,
          "value" : 7
        },
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Category of the question (e.g., COMFORT, SERVICE, VALUE).",
            "enum" : [ "COMFORT", "CONDITION", "SERVICE", "ENVIRONMENT", "FACILITIES", "LOCATION", "LIFESTYLE", "VALUE", "FOOD", "ROOM" ],
            "example" : "SERVICE"
          },
          "questionIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Review question identifier that this answer responds to.",
            "example" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
            "minLength" : 1
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Display order of this answer within the review.",
            "example" : 1
          },
          "value" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Guest's numeric rating for this question on a 0-10 scale.",
            "example" : 7
          }
        },
        "required" : [ "category", "questionIdentifier", "sort", "value" ]
      },
      "ReviewLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a guest review, containing all publicly visible review data and metadata.",
        "example" : {
          "answers" : [ {
            "category" : "SERVICE",
            "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
            "sort" : 1,
            "value" : 7
          } ],
          "approvedImage" : false,
          "approvedText" : true,
          "averageScore" : 8.7,
          "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
          "createdDate" : "2026-01-14T09:30:00",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
          "lastUpdate" : "2026-02-03T16:45:12",
          "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
          "responded" : false,
          "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
          "reviewDate" : "2026-01-14T09:30:00",
          "roomNumber" : "501",
          "roomRating" : 9,
          "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
          "user" : {
            "email" : "reservations@thesiamresidences.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "telephone" : "+66 2 126 8866",
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "version" : 3
        },
        "properties" : {
          "answers" : {
            "type" : "array",
            "description" : "Guest's answers to each review question with their scores.",
            "items" : {
              "$ref" : "#/components/schemas/ReviewAnswer_Supplier"
            }
          },
          "approvedImage" : {
            "type" : "boolean",
            "description" : "Hotel has approved the guest's photo for public display on their profile.",
            "example" : false
          },
          "approvedText" : {
            "type" : "boolean",
            "description" : "Hotel has approved this review text for public display on their profile.",
            "example" : true
          },
          "averageScore" : {
            "type" : "number",
            "format" : "double",
            "description" : "Average rating across all question answers (0-10 scale).",
            "example" : 8.7
          },
          "bookingIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Booking identifier this review is associated with.",
            "example" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92"
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property (hotel) identifier this review is for.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "imageIdentifier" : {
            "type" : "string",
            "description" : "Cloudinary image identifier for guest's photo from their stay.",
            "example" : "wink/review/siam-residences-2026-01-14-xyz123abc"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "likes" : {
            "type" : "array",
            "description" : "User identifiers who 'liked' this review.",
            "items" : {
              "type" : "string"
            }
          },
          "messageFromGuest" : {
            "type" : "string",
            "description" : "Private feedback message from guest to hotel manager. Not publicly displayed.",
            "example" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property."
          },
          "responded" : {
            "type" : "boolean",
            "description" : "Hotel has submitted a response to this review.",
            "example" : false
          },
          "responseFromHotel" : {
            "type" : "string",
            "description" : "Hotel's public response to the guest review.",
            "example" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!"
          },
          "reviewDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date and time the review was submitted.",
            "example" : "2026-01-14T09:30:00"
          },
          "roomNumber" : {
            "type" : "string",
            "description" : "Guest's room number during their stay.",
            "example" : "501"
          },
          "roomRating" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Guest's personal rating of their room on a 0-10 scale.",
            "example" : 9
          },
          "text" : {
            "type" : "string",
            "description" : "Guest's written review text.",
            "example" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home."
          },
          "user" : {
            "$ref" : "#/components/schemas/ReviewUser_Supplier",
            "description" : "Guest who submitted the review."
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        }
      },
      "ReviewUser_Supplier" : {
        "type" : "object",
        "description" : "Guest user details captured at the time of review submission.",
        "example" : {
          "email" : "reservations@thesiamresidences.com",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "lastName" : "Beaumont",
          "telephone" : "+66 2 126 8866",
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Guest's email address.",
            "example" : "reservations@thesiamresidences.com"
          },
          "firstName" : {
            "type" : "string",
            "description" : "Guest's first name.",
            "example" : "Alexandra"
          },
          "fullName" : {
            "type" : "string",
            "description" : "Guest's full name.",
            "example" : "Alexandra Beaumont"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Guest's last name.",
            "example" : "Beaumont"
          },
          "telephone" : {
            "type" : "string",
            "description" : "Guest's phone number.",
            "example" : "+66 2 126 8866",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "User identifier",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          }
        }
      },
      "SuggestWelcomeTextRequest_Supplier" : {
        "type" : "object",
        "example" : {
          "language" : "en"
        },
        "properties" : {
          "language" : {
            "type" : "string",
            "description" : "Language to use",
            "example" : "en",
            "minLength" : 1
          }
        },
        "required" : [ "language" ]
      },
      "ImproveWelcomeTextRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body for the AI-powered welcome text improvement endpoint, providing the raw property description and target language.",
        "example" : {
          "description" : "Beautiful riverside resort with lush gardens, infinity pool and world-class dining.",
          "language" : "en",
          "name" : "The Siam Residences, Bangkok"
        },
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Long property description that the AI will rewrite into a polished welcome text.",
            "example" : "Beautiful riverside resort with lush gardens, infinity pool and world-class dining.",
            "minLength" : 1
          },
          "language" : {
            "type" : "string",
            "description" : "ISO 639-1 two-character language code for the target output language.",
            "example" : "en",
            "minLength" : 1,
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "name" : {
            "type" : "string",
            "description" : "Short property name or headline used as input context for the AI.",
            "example" : "The Siam Residences, Bangkok",
            "minLength" : 1
          }
        },
        "required" : [ "description", "language", "name" ]
      },
      "SuggestAmenitiesRequest_Supplier" : {
        "type" : "object",
        "example" : {
          "language" : "en"
        },
        "properties" : {
          "language" : {
            "type" : "string",
            "description" : "Language to use",
            "example" : "en",
            "minLength" : 1
          }
        },
        "required" : [ "language" ]
      },
      "SuggestProfileRequest_Supplier" : {
        "type" : "object",
        "example" : {
          "language" : "en"
        },
        "properties" : {
          "language" : {
            "type" : "string",
            "description" : "Language to use",
            "example" : "en",
            "minLength" : 1
          }
        },
        "required" : [ "language" ]
      },
      "SuggestProfileResponse_Supplier" : {
        "type" : "object",
        "description" : "AI-suggested profile data for a property, derived from demographic analysis",
        "example" : {
          "address1" : "1 Khlang Toei Road",
          "address2" : "",
          "address3" : "",
          "ambiance" : "Serene tropical oasis with contemporary design and personalized service",
          "architecture" : "Contemporary",
          "brand" : "The Siam Residences",
          "chain" : "Independent",
          "city" : "Bangkok",
          "country" : "Thailand",
          "designElements" : "Minimalist with natural materials and tropical accents",
          "emailAddress" : "info@thesiamresidences.com",
          "historic" : "Built in 2015, newly renovated in 2022",
          "hotelStars" : "5",
          "locationCategory" : "MTR",
          "numberOfRooms" : "48",
          "phoneNumber" : "+66 2 126 8866",
          "postalCode" : "10110",
          "propertyClass" : "RES",
          "province" : "Central",
          "segment" : "Luxury",
          "style" : "MOD",
          "website" : "https://www.thesiamresidences.com",
          "yearBuilt" : "2015"
        },
        "properties" : {
          "address1" : {
            "type" : "string",
            "description" : "Primary address line",
            "example" : "1 Home Street"
          },
          "address2" : {
            "type" : "string",
            "description" : "Secondary address line (apartment, suite, etc.)"
          },
          "address3" : {
            "type" : "string",
            "description" : "Tertiary address line"
          },
          "ambiance" : {
            "type" : "string",
            "description" : "Property ambiance and atmosphere",
            "example" : "Serene tropical oasis with contemporary design and personalized service"
          },
          "architecture" : {
            "type" : "string",
            "description" : "Architectural style (e.g., Contemporary, Colonial, Art Deco)",
            "example" : "Contemporary"
          },
          "brand" : {
            "type" : "string",
            "description" : "Brand or brand identity",
            "example" : "Luxury Residences"
          },
          "chain" : {
            "type" : "string",
            "description" : "Hotel chain affiliation if applicable",
            "example" : "Independent"
          },
          "city" : {
            "type" : "string",
            "description" : "City name",
            "example" : "Bangkok"
          },
          "country" : {
            "type" : "string",
            "description" : "Country name",
            "example" : "Thailand"
          },
          "designElements" : {
            "type" : "string",
            "description" : "Key design elements and aesthetic features",
            "example" : "Minimalist with natural materials"
          },
          "emailAddress" : {
            "type" : "string",
            "description" : "Contact email address",
            "example" : "reservations@thesiamresidences.com"
          },
          "historic" : {
            "type" : "string",
            "description" : "Historical significance or heritage status",
            "example" : "Built in 2015, newly renovated"
          },
          "hotelStars" : {
            "type" : "string",
            "description" : "Star rating of the property",
            "example" : "5"
          },
          "locationCategory" : {
            "type" : "string",
            "description" : "Location category code",
            "example" : "MTR"
          },
          "numberOfRooms" : {
            "type" : "string",
            "description" : "Total number of rooms available",
            "example" : "48"
          },
          "phoneNumber" : {
            "type" : "string",
            "description" : "Contact phone number",
            "example" : "+66 2 126 8866"
          },
          "postalCode" : {
            "type" : "string",
            "description" : "Postal or zip code",
            "example" : "10100"
          },
          "propertyClass" : {
            "type" : "string",
            "description" : "Property classification code",
            "example" : "RES"
          },
          "province" : {
            "type" : "string",
            "description" : "Province or state",
            "example" : "Central"
          },
          "segment" : {
            "type" : "string",
            "description" : "Market segment (e.g., Luxury, Boutique, Business)",
            "example" : "Luxury"
          },
          "style" : {
            "type" : "string",
            "description" : "Architectural/design style code",
            "example" : "MOD"
          },
          "website" : {
            "type" : "string",
            "description" : "Website URL of the property",
            "example" : "https://www.thesiamresidences.com"
          },
          "yearBuilt" : {
            "type" : "string",
            "description" : "Year the property was built or renovated",
            "example" : "2015"
          }
        },
        "required" : [ "ambiance", "website" ]
      },
      "DateRange_Supplier" : {
        "type" : "object",
        "example" : {
          "endDate" : "2020-12-31",
          "startDate" : "2020-12-24"
        },
        "properties" : {
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Retrieve data range ending with and including this end date",
            "example" : "2020-12-31"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Retrieve data range starting with and including this start date",
            "example" : "2020-12-24"
          }
        },
        "required" : [ "endDate", "startDate" ]
      },
      "PageResponseRateLightweight_Supplier" : {
        "type" : "object",
        "description" : "Owned pagination envelope: a page of content plus flat page metadata.",
        "example" : {
          "content" : [ {
            "closedOnArrival" : false,
            "closedOnDeparture" : false,
            "currencyCode" : "THB",
            "day" : 14,
            "extraChildRateModifier" : {
              "percent" : 0.15,
              "type" : "PERCENTAGE"
            },
            "extraPaxRateModifier" : {
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "guestRoomIdentifier" : "4b7e2c9a-6f1d-4a0b-8c3e-5d2f9b1a7c84",
            "hotelIdentifier" : "7d4f2a1b-3e8c-4b0d-a5f9-1c2e6b4d8f07",
            "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "master" : true,
            "maxLengthOfStay" : 30,
            "minLengthOfStay" : 2,
            "month" : 1,
            "quantity" : 9,
            "rate" : 4500.0,
            "ratePlanIdentifier" : "9a2d5e8c-1f4b-4c7a-b3e6-2d0f8a5c3e91",
            "rateSource" : "NONE",
            "singleOccupancyRateModifier" : {
              "percent" : 0.8,
              "type" : "PERCENTAGE"
            },
            "year" : 2026
          } ],
          "first" : true,
          "last" : false,
          "number" : 0,
          "numberOfElements" : 20,
          "size" : 20,
          "totalElements" : 1234,
          "totalPages" : 62
        },
        "properties" : {
          "content" : {
            "type" : "array",
            "description" : "The elements on this page.",
            "items" : {
              "$ref" : "#/components/schemas/RateLightweight_Supplier"
            }
          },
          "first" : {
            "type" : "boolean",
            "description" : "Whether this is the first page.",
            "example" : true
          },
          "last" : {
            "type" : "boolean",
            "description" : "Whether this is the last page.",
            "example" : false
          },
          "number" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Zero-based index of this page.",
            "example" : 0
          },
          "numberOfElements" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of elements on this page.",
            "example" : 20
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The requested page size.",
            "example" : 20
          },
          "totalElements" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of elements across all pages.",
            "example" : 1234
          },
          "totalPages" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Total number of pages for the current page size.",
            "example" : 62
          }
        }
      },
      "DuplicateGuestRoomRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload identifying the property and room type to duplicate.",
        "example" : {
          "guestRoomIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        },
        "properties" : {
          "guestRoomIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Identifier of the room type to duplicate.",
            "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Identifier of the property that owns the room type to duplicate.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          }
        },
        "required" : [ "guestRoomIdentifier", "hotelIdentifier" ]
      },
      "AcquiringFeeCapture_Supplier" : {
        "type" : "object",
        "description" : "Audit record of a Stripe acquiring-fee read: the charge, its balance transaction, the whole charge's fee, and how many bookings that fee was split across.",
        "example" : {
          "apportionedAcross" : 3,
          "balanceTransactionIdentifier" : "txn_abc123",
          "capturedDate" : "2026-09-11T03:07:58.742",
          "chargeFee" : 450.0,
          "chargeIdentifier" : "ch_abc123",
          "source" : "WEBHOOK"
        },
        "properties" : {
          "apportionedAcross" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How many bookings the charge fee was apportioned across. 1 for a single-room checkout.",
            "example" : 3
          },
          "balanceTransactionIdentifier" : {
            "type" : "string",
            "description" : "Stripe balance transaction that carried the fee. Null only for a MANUAL capture.",
            "example" : "txn_abc123"
          },
          "capturedDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the fee was read from Stripe.",
            "example" : "2026-09-11T03:07:58.742"
          },
          "chargeFee" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "The WHOLE charge's acquiring fee, in the charge's settlement currency, before apportioning. Identical on every booking sharing the charge.",
            "example" : 450.0
          },
          "chargeIdentifier" : {
            "type" : "string",
            "description" : "Stripe charge the fee was read from.",
            "example" : "ch_abc123"
          },
          "source" : {
            "type" : "string",
            "description" : "Which mechanism performed the read.",
            "enum" : [ "WEBHOOK", "INLINE_SETTLE", "CHARGE_UPDATED", "RECONCILIATION", "MANUAL" ],
            "example" : "WEBHOOK"
          }
        },
        "required" : [ "apportionedAcross", "capturedDate", "chargeFee", "chargeIdentifier", "source" ]
      },
      "BeneficiaryCharge_Supplier" : {
        "type" : "object",
        "description" : "Defines how a beneficiary's slice of the booking is calculated: either as a fixed percentage of the total stay price, or as the remainder after other beneficiaries have taken their share.",
        "example" : {
          "percent" : 0.05
        },
        "properties" : {
          "percent" : {
            "type" : "number",
            "description" : "The percentage value (0.0–1.0) to apply to the total booking amount when type=PERCENTAGE. For example, 0.050 = 5% of the booking price. Ignored when type=REMAINDER.",
            "example" : 0.05
          },
          "type" : {
            "type" : "string",
            "description" : "PERCENTAGE: apply the percent field to the total booking price. REMAINDER: this beneficiary receives whatever is left after other beneficiaries are satisfied (typically used for the hotel).",
            "enum" : [ "PERCENTAGE", "REMAINDER" ]
          }
        },
        "required" : [ "type" ]
      },
      "Beneficiary_Supplier" : {
        "type" : "object",
        "description" : "A beneficiary is a registered account entitled to a portion of booking funds. Funds are allocated by type (SALE, COMMISSION, PLATFORM_FEE, etc.) and tracked across source, display, and internal (platform) currencies. Refund modifiers record adjustments from cancellations.",
        "example" : {
          "accountEmail" : "reservations@thesiamresidences.com",
          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "accountName" : "The Siam Residences, Bangkok",
          "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
          "amountDue" : {
            "percent" : 0.05
          },
          "displayAmount" : 450.0,
          "displayAmountRefundModifier" : 45.0,
          "displayCurrency" : "USD",
          "internalAmount" : 450.0,
          "internalAmountRefundModifier" : 45.0,
          "internalCurrency" : "USD",
          "netDisplayAmount" : 450.0,
          "netInternalAmount" : 450.0,
          "netSourceAmount" : 450.0,
          "pendingRefunds" : [ {
            "displayAmountRefundModifier" : 45.0,
            "internalAmountRefundModifier" : 45.0,
            "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
            "sourceAmountRefundModifier" : 45.0
          } ],
          "reconciled" : false,
          "sourceAmount" : 450.0,
          "sourceAmountRefundModifier" : 45.0,
          "sourceCurrency" : "THB"
        },
        "properties" : {
          "accountEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Contact email address for the beneficiary account",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "accountIdentifier" : {
            "type" : "string",
            "description" : "Unique identifier of the beneficiary's account in the TripPay system",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "accountName" : {
            "type" : "string",
            "description" : "Display name of the beneficiary account (e.g. hotel, affiliate, or platform name)",
            "example" : "The Siam Residences, Bangkok",
            "minLength" : 1
          },
          "accountUrl" : {
            "type" : "string",
            "description" : "Profile or dashboard URL for the beneficiary account",
            "example" : "https://trvl.as/the-siam-residences-bangkok"
          },
          "amountDue" : {
            "$ref" : "#/components/schemas/BeneficiaryCharge_Supplier",
            "description" : "Charge rule: either a fixed percentage of the total stay or the remainder after other beneficiaries are deducted"
          },
          "displayAmount" : {
            "type" : "number",
            "description" : "Gross amount owed to this beneficiary in display currency (before refunds)",
            "example" : 450.0,
            "minimum" : 0
          },
          "displayAmountRefundModifier" : {
            "type" : "number",
            "description" : "Cumulative refund reduction applied to displayAmount (sum of all applied PendingRefunds)",
            "example" : 45.0,
            "minimum" : 0
          },
          "displayCurrency" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for display to the user (e.g. booking shown in USD)",
            "example" : "USD",
            "minLength" : 1
          },
          "internalAmount" : {
            "type" : "number",
            "description" : "Gross amount owed to this beneficiary in internal currency (before refunds)",
            "example" : 450.0,
            "minimum" : 0
          },
          "internalAmountRefundModifier" : {
            "type" : "number",
            "description" : "Cumulative refund reduction applied to internalAmount (sum of all applied PendingRefunds)",
            "example" : 45.0,
            "minimum" : 0
          },
          "internalCurrency" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for internal platform ledger (always USD)",
            "example" : "USD",
            "minLength" : 1
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Additional key-value metadata for the beneficiary (e.g. bank details, supplier identifiers)"
          },
          "netDisplayAmount" : {
            "type" : "number",
            "description" : "Net amount owed in display currency (displayAmount - displayAmountRefundModifier)",
            "example" : 450.0,
            "minimum" : 0
          },
          "netInternalAmount" : {
            "type" : "number",
            "description" : "Net amount owed in internal currency (internalAmount - internalAmountRefundModifier)",
            "example" : 450.0,
            "minimum" : 0
          },
          "netSourceAmount" : {
            "type" : "number",
            "description" : "Net amount owed in source currency (sourceAmount - sourceAmountRefundModifier)",
            "example" : 450.0,
            "minimum" : 0
          },
          "pendingRefunds" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PendingRefund_Supplier",
              "description" : "Pending refunds awaiting settlement. Once a refund transitions from PENDING to APPLIED, it moves out of this list and into the corresponding *AmountRefundModifier property"
            }
          },
          "reconciled" : {
            "type" : "boolean",
            "description" : "Flag indicating whether net amounts have been transferred (disbursed) from TripPay to the beneficiary",
            "example" : false
          },
          "sourceAmount" : {
            "type" : "number",
            "description" : "Gross amount owed to this beneficiary in source currency (before refunds)",
            "example" : 450.0,
            "minimum" : 0
          },
          "sourceAmountRefundModifier" : {
            "type" : "number",
            "description" : "Cumulative refund reduction applied to sourceAmount (sum of all applied PendingRefunds)",
            "example" : 45.0,
            "minimum" : 0
          },
          "sourceCurrency" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for the originating source (supplier's local currency, e.g. hotel in Thailand uses THB)",
            "example" : "THB",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Category of the beneficiary: SALE (property), COMMISSION (affiliate), PLATFORM_FEE (Wink), TRIP_PAY (platform internal), or agency fees",
            "enum" : [ "TRIP_PAY", "PLATFORM_FEE", "COMMISSION", "AFFILIATE_AGENCY_FEE", "SUPPLIER_AGENCY_FEE", "SALE" ]
          }
        },
        "required" : [ "accountEmail", "accountIdentifier", "accountName", "displayAmount", "displayAmountRefundModifier", "displayCurrency", "internalAmount", "internalAmountRefundModifier", "internalCurrency", "netDisplayAmount", "netInternalAmount", "netSourceAmount", "sourceAmount", "sourceAmountRefundModifier", "sourceCurrency", "type" ]
      },
      "BookingAncillary_Supplier" : {
        "type" : "object",
        "example" : {
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "attendees" : 2,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "endDate" : "2017-12-22T08:07:58.742+0000",
          "financialBreakdown" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "displayPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "internalPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            }
          },
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
          "imageIdentifier" : "cloudinary-image-1",
          "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
          "localizedDescription" : "place-1",
          "localizedName" : "Plass 1",
          "name" : "Thai Massage Spa Treatment",
          "price" : {
            "internalBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalChannelModifier" : -10,
            "internalPremiumModifier" : 40,
            "internalPromotionalModifier" : -40,
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "quantity" : 1,
            "sourceBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceChannelModifier" : -10,
            "sourcePremiumModifier" : 40,
            "sourcePromotionalModifier" : -40,
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyChannelModifier" : -10,
            "userSpecifiedCurrencyPremiumModifier" : 40,
            "userSpecifiedCurrencyPromotionalModifier" : -40,
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "pricingType" : "PER_USE",
          "startDate" : "2017-12-22T03:07:58.742+0000",
          "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
          "type" : "ADD_ON",
          "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Travel blocking address (if applicable)"
          },
          "attendees" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of guests that are part of this reservation.",
            "example" : 2
          },
          "commission" : {
            "type" : "number",
            "format" : "float"
          },
          "commissionable" : {
            "type" : "boolean"
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Travel blocking contact (if applicable)"
          },
          "endDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date end time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).",
            "example" : "2017-12-22T08:07:58.742+0000"
          },
          "financialBreakdown" : {
            "$ref" : "#/components/schemas/FinancialBreakdown_Supplier"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Ancillary identifier",
            "example" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "minLength" : 1
          },
          "imageIdentifier" : {
            "type" : "string",
            "description" : "Cloudinary image identifier",
            "example" : "cloudinary-image-1",
            "minLength" : 1
          },
          "imageUrl" : {
            "type" : "string",
            "description" : "Absolute URL to image of inventory",
            "example" : "https://path.to.image.com/this-is-me.jpg",
            "minLength" : 1
          },
          "localizedDescription" : {
            "type" : "string",
            "description" : "Description of travel inventory in traveler language (if available). Defaults to English.",
            "example" : "place-1",
            "minLength" : 1
          },
          "localizedName" : {
            "type" : "string",
            "description" : "Name of travel inventory in traveler language (if available). Defaults to English.",
            "example" : "Plass 1",
            "minLength" : 1
          },
          "mandatory" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of inventory",
            "example" : "Thai Massage Spa Treatment",
            "minLength" : 1
          },
          "price" : {
            "$ref" : "#/components/schemas/LocalizedPrice_Supplier",
            "description" : "Pricing information for this ancillary."
          },
          "pricingType" : {
            "type" : "string",
            "description" : "Pricing type",
            "enum" : [ "PER_STAY", "PER_DAY", "PER_NIGHT", "PER_USE", "PER_HOUR", "PER_PERSON", "PER_PERSON_PER_NIGHT", "PER_PERSON_PER_HOUR", "PER_ADULT", "PER_ADULT_PER_NIGHT", "PER_ADULT_PER_HOUR", "PER_CHILD", "PER_CHILD_PER_NIGHT", "PER_CHILD_PER_HOUR" ],
            "example" : "PER_USE"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date start time when reservation was made for. Optional — null for ancillaries with no specific schedule (e.g. PER_STAY/PER_USE items).",
            "example" : "2017-12-22T03:07:58.742+0000"
          },
          "transactionalTravelInventoryIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Travel inventory identifier",
            "example" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Inventory type",
            "enum" : [ "ROOM_TYPE_ANCILLARY", "ADD_ON", "MEETING_ROOM", "SPA", "RESTAURANT", "ACTIVITY", "ATTRACTION", "PLACE" ],
            "example" : "ADD_ON"
          },
          "typeIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Travel inventory identifier",
            "example" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "minLength" : 1
          }
        },
        "required" : [ "address", "attendees", "commission", "commissionable", "contact", "hotelIdentifier", "identifier", "imageIdentifier", "imageUrl", "localizedDescription", "localizedName", "mandatory", "name", "price", "pricingType", "transactionalTravelInventoryIdentifier", "type", "typeIdentifier" ]
      },
      "BookingCancellation_Supplier" : {
        "type" : "object",
        "description" : "Immutable cancellation details embedded in a booking, capturing who cancelled, when, the cancellation type, and the reason.",
        "example" : {
          "cancelReason" : "Guest changed travel plans",
          "cancellationType" : "FREE_CANCELLATION",
          "cancelledOn" : "2026-01-15T10:30:00Z",
          "cancellerType" : "TRAVELER",
          "cancellerUserIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
          "groupRefundNotified" : false
        },
        "properties" : {
          "cancelReason" : {
            "type" : "string",
            "description" : "Human-readable reason for cancellation.",
            "example" : "Guest changed travel plans"
          },
          "cancellationType" : {
            "type" : "string",
            "description" : "The cancellation policy type that was applied.",
            "enum" : [ "DUPLICATE", "CANCELLATION", "NO_SHOW", "CC_INVALID", "CC_INSUFFICIENT", "DISCRETIONARY" ],
            "example" : "FREE_CANCELLATION"
          },
          "cancelledOn" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the booking was cancelled.",
            "example" : "2026-01-15T10:30:00Z"
          },
          "cancellerType" : {
            "type" : "string",
            "description" : "Who cancelled the booking.",
            "enum" : [ "HOTEL", "GUEST", "ADMIN", "AGENT", "ACQUIRER", "SALES_CHANNEL", "SYSTEM" ],
            "example" : "TRAVELER"
          },
          "cancellerUserIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "User identifier of the person who cancelled.",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "groupRefundNotified" : {
            "type" : "boolean",
            "description" : "True when the traveler refund for this booking is notified once at the group level (a single aggregated trippay_payment_refund email). The Stripe refund-settlement webhook reads this to suppress the per-booking traveler refund email and avoid duplicates.",
            "example" : false
          }
        },
        "required" : [ "cancelledOn", "cancellerType" ]
      },
      "BookingItineraryRoomConfigurationChild_Supplier" : {
        "type" : "object",
        "description" : "Child configuration",
        "example" : {
          "age" : 8,
          "quantity" : 2
        },
        "properties" : {
          "age" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Age of children",
            "example" : 8
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of children",
            "example" : 2
          }
        }
      },
      "BookingItineraryRoomConfiguration_Supplier" : {
        "type" : "object",
        "description" : "Room Configuration",
        "example" : {
          "adults" : 2,
          "children" : [ {
            "age" : 8,
            "quantity" : 2
          } ]
        },
        "properties" : {
          "adults" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of adults",
            "example" : 2
          },
          "children" : {
            "type" : "array",
            "description" : "Children configurations",
            "items" : {
              "$ref" : "#/components/schemas/BookingItineraryRoomConfigurationChild_Supplier"
            }
          }
        },
        "required" : [ "adults" ]
      },
      "BookingItinerary_Supplier" : {
        "type" : "object",
        "description" : "BookingItinerary",
        "example" : {
          "endDate" : "2024-01-02",
          "items" : [ {
            "adults" : 2,
            "children" : [ {
              "age" : 8,
              "quantity" : 2
            } ]
          } ],
          "nights" : 7,
          "startDate" : "2024-01-01"
        },
        "properties" : {
          "children" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How many total children for this stay"
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Optional end date. If endDate is empty, nights needs to be present. If both are present, nights will take precedence.",
            "example" : "2024-01-02"
          },
          "guests" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How many total guests for this stay"
          },
          "hours" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Number of hours between start and end dates. Used for itineraries that require bookings that occur within hours and not days. E.g. Meeting room reservation.",
            "readOnly" : true
          },
          "items" : {
            "type" : "array",
            "description" : "Room configurations",
            "items" : {
              "$ref" : "#/components/schemas/BookingItineraryRoomConfiguration_Supplier"
            }
          },
          "nights" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Optional number of nights. If nights is empty, endDate needs to be present. If both are present, nights will take precedence.",
            "example" : 7
          },
          "rooms" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How many total rooms for this stay"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start date of itinerary",
            "example" : "2024-01-01"
          }
        },
        "required" : [ "startDate" ]
      },
      "BookingLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight, read-only projection of a booking, used by cross-domain consumers (channel managers, caldav, reporting, accounting, email templating, analytics) and every booking-web/booking-mcp surface.",
        "example" : {
          "acquiringFee" : {
            "internalAmount" : 450.0,
            "shareNotStated" : false,
            "sourceAmount" : 450.0,
            "state" : "CAPTURED"
          },
          "activities" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "addOns" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "ancillaryList" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "attractions" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "beneficiaryList" : [ {
            "accountEmail" : "reservations@thesiamresidences.com",
            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "accountName" : "The Siam Residences, Bangkok",
            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
            "amountDue" : {
              "percent" : 0.05
            },
            "displayAmount" : 450.0,
            "displayAmountRefundModifier" : 45.0,
            "displayCurrency" : "USD",
            "internalAmount" : 450.0,
            "internalAmountRefundModifier" : 45.0,
            "internalCurrency" : "USD",
            "netDisplayAmount" : 450.0,
            "netInternalAmount" : 450.0,
            "netSourceAmount" : 450.0,
            "pendingRefunds" : [ {
              "displayAmountRefundModifier" : 45.0,
              "internalAmountRefundModifier" : 45.0,
              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
              "sourceAmountRefundModifier" : 45.0
            } ],
            "reconciled" : false,
            "sourceAmount" : 450.0,
            "sourceAmountRefundModifier" : 45.0,
            "sourceCurrency" : "THB"
          } ],
          "booker" : {
            "email" : "reservations@thesiamresidences.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "telephone" : "+1 212 555 1212",
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "cancellation" : {
            "cancelReason" : "Guest changed travel plans",
            "cancellationType" : "FREE_CANCELLATION",
            "cancelledOn" : "2026-01-15T10:30:00Z",
            "cancellerType" : "TRAVELER",
            "cancellerUserIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "groupRefundNotified" : false
          },
          "commissionableSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "customization" : {
            "appendToPageTitle" : "Hotels with Benefits",
            "cardDesign" : "DEFAULT",
            "cardLayout" : "VERTICAL",
            "city" : {
              "admin1Code" : "40",
              "admin2Code" : "2401",
              "admin3Code" : "",
              "admin4Code" : "",
              "alternateCountryCodes" : [ ],
              "alternateNames" : [ "Krung Thep", "BKK" ],
              "asciiName" : "Bangkok",
              "country" : {
                "area" : 514000.0,
                "capital" : "Bangkok",
                "continent" : "AS",
                "currencyCode" : "THB",
                "currencyName" : "Baht",
                "fips" : "TH",
                "geoNameId" : "1605651",
                "iso" : "TH",
                "iso3" : "THA",
                "isoNumeric" : 764,
                "languages" : [ "th" ],
                "name" : "Thailand",
                "neighbors" : [ "LA", "MM", "KH", "MY" ],
                "phone" : "66",
                "population" : 69428524,
                "postalCodeFormat" : "#####",
                "postalCodeRegEx" : "^(\\d{5})$",
                "topLevelDomain" : ".th"
              },
              "countryCode" : "TH",
              "digitalElevationModel" : "3",
              "elevation" : 5,
              "featureClass" : "P",
              "featureCode" : "PPLC",
              "geoNameId" : "1609350",
              "location" : {
                "coordinates" : [ 100.5581533, 13.7370197 ],
                "type" : "POINT"
              },
              "modificationDate" : "2023-06-15",
              "name" : "Bangkok",
              "population" : 10539415,
              "radiusInMeters" : 50000,
              "subCountry" : {
                "asciiName" : "Bangkok",
                "code" : "TH.40",
                "countryCode" : "TH",
                "geoNameId" : "1609350",
                "name" : "Bangkok",
                "subCountryCode" : "40"
              },
              "subSubCountry" : {
                "asciiName" : "Bangkok District",
                "code" : "TH.40.2401",
                "countryCode" : "TH",
                "geoNameId" : "1609352",
                "name" : "Bangkok District",
                "subCountryCode" : "40",
                "subSubCountryCode" : "2401"
              },
              "timezone" : "Asia/Bangkok",
              "type" : "CITY",
              "urlName" : "bangkok-thailand"
            },
            "createdDate" : "2026-01-14T09:30:00",
            "defaultCurrency" : "THB",
            "defaultLanguage" : "en",
            "defaultLifestyle" : "LIFESTYLE_HEALTH_FITNESS",
            "endDate" : "2026-07-22",
            "googleAnalyticsMeasurementId" : "G-ABCDEF1234",
            "googleMapsAPIKey" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6",
            "googleTagManagerContainerId" : "GTM-XXXXX",
            "hostedBookingEngineUrl" : "https://book.thesiamresidences.com/reservations",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "layout" : "INFORMATIONAL",
            "logos" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "Luxury Travel Portal",
            "numberOfAdvanceDays" : 7,
            "numberOfStayDays" : 3,
            "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "ownerName" : "Premium Hotels International",
            "primary" : true,
            "roomConfiguration" : {
              "adults" : 2,
              "children" : [ {
                "age" : 7,
                "quantity" : 2
              } ],
              "quantity" : 2
            },
            "selfHosted" : true,
            "sendBookingNotificationEmailsToBooker" : true,
            "sendBookingNotificationEmailsToChannelManager" : true,
            "sendBookingNotificationEmailsToProperty" : true,
            "showRankings" : true,
            "showSearch" : true,
            "showUnavailableCard" : false,
            "startDate" : "2026-07-15",
            "subType" : "APPLICATION",
            "themeColors" : {
              "body" : "#212529",
              "danger" : "#dc3545",
              "dark" : "#343a40",
              "info" : "#17a2b8",
              "light" : "#f8f9fa",
              "muted" : "#6c757d",
              "primary" : "#dc3545",
              "secondary" : "#6c757d",
              "success" : "#28a745",
              "warning" : "#ffc107",
              "white" : "#ffffff"
            },
            "trackingPixels" : [ {
              "accessToken" : "EAABsbCS0kB4BAAI...",
              "consentCategory" : "MARKETING",
              "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
              "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
              "enabled" : true,
              "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
              "name" : "Facebook Conversion Pixel",
              "pixelId" : "1234567890",
              "provider" : "FACEBOOK",
              "triggers" : [ {
                "eventType" : "PURCHASE",
                "parameters" : [ {
                  "key" : "currency",
                  "value" : "USD"
                } ]
              } ],
              "type" : "JAVASCRIPT"
            } ],
            "useDays" : true,
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "version" : 3,
            "wcBookClickAction" : "IBE_MODAL"
          },
          "earlyCheckInCharge" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "feeModel" : "FIXED_PROCESSING_FEE",
          "financialBreakdown" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "displayPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "internalPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            }
          },
          "fundsAddedToLedger" : false,
          "fundsProcessed" : false,
          "guestUser" : {
            "email" : "reservations@thesiamresidences.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "profile" : {
              "createdDate" : "2026-01-14T09:30:00",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "personal" : {
                "address1" : "123 Petchburi Road",
                "address2" : "Ratchathewi District",
                "birthDate" : "1985-06-15",
                "childQuantity" : 2,
                "citizenship" : "Thailand",
                "city" : "Bangkok",
                "contactPerson" : [ {
                  "email" : "johnsmith@email.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phoneNumber" : "+12125551212",
                  "secondaryEmail" : "johnsmith2@email.com",
                  "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                } ],
                "country" : "TH",
                "gender" : "FEMALE",
                "language" : "en",
                "maritalStatus" : "MARRIED",
                "petInfo" : [ {
                  "name" : "Luna",
                  "type" : "Golden Retriever"
                } ],
                "postalCode" : "10400",
                "preferredCurrency" : "USD",
                "state" : "Bangkok"
              },
              "preferences" : {
                "bedTypePref" : "King bed",
                "cuisinePref" : "Thai",
                "foodSrvcPref" : "In-room dining",
                "guestType" : "Business traveler",
                "hotelChainPref" : "Mandarin Oriental",
                "mealPref" : "Continental breakfast",
                "physChalFeaturePref" : "Wheelchair accessible rooms",
                "propertyLocationPref" : "Beachfront",
                "propertyTypePref" : "Luxury Resort",
                "roomLocationPref" : "High floor with city view",
                "smokingAllowed" : false
              },
              "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "share" : true,
              "user" : {
                "email" : "alexandra@beaumont.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phone" : "+66212658866",
                "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
              },
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
              "version" : 3
            },
            "telephone" : "+1 212 555 1212",
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "hotel" : {
            "activities" : 3,
            "addOns" : 5,
            "address" : {
              "city" : "Bangkok",
              "countryCode" : "TH",
              "line1" : "3/2 Khao Road",
              "postalCode" : "10300",
              "state" : "Bangkok"
            },
            "aggregateGreendexRating" : 7.0,
            "aggregateReviewRating" : 8.7,
            "architecturalStyle" : "7",
            "attractions" : 5,
            "available" : true,
            "bookings" : 6054,
            "brand" : "The Siam Residences",
            "chain" : "The Siam Collection",
            "currencyCode" : "THB",
            "descriptions" : [ {
              "description" : "An elegant riverside sanctuary in the heart of Bangkok.",
              "language" : "en",
              "title" : "Luxury Riverside Retreat"
            } ],
            "hotelAmenityCodes" : [ "1", "7" ],
            "hotelCategory" : "45",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "images" : [ {
              "identifier" : "the-siam-residences/lobby-entrance",
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "type" : "IMAGE"
            } ],
            "lifestyleTypes" : [ "LIFESTYLE_HEALTH_FITNESS" ],
            "localName" : "เดอะสยาม เรสซิเดนซ์",
            "location" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "Point"
            },
            "locationCategory" : "34",
            "meetingRooms" : 2,
            "name" : "The Siam Residences, Bangkok",
            "numberOfRooms" : 32,
            "places" : 9,
            "propertyAccessibilityCodes" : [ "1" ],
            "propertySecurityCodes" : [ "7" ],
            "reservations" : {
              "email" : "reservations@thesiamresidences.com",
              "firstName" : "Somchai",
              "lastName" : "Phattanapong",
              "phone" : "+66-2-123-4567"
            },
            "restaurants" : 2,
            "score" : 70,
            "segmentCategory" : "7",
            "socials" : [ {
              "handle" : "thesiamresidences",
              "platform" : "INSTAGRAM"
            } ],
            "spas" : 1,
            "starRating" : 5,
            "thirdPartyReviews" : [ ],
            "totalReviews" : 989,
            "uniqueId" : "siam-residences-bkk",
            "urlName" : "the-siam-residences-bangkok-thailand",
            "videos" : [ ],
            "whenBuilt" : "1927"
          },
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "lateCheckOutCharge" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "meetingRooms" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "netTotalFeesAndCommissionsSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "netTotalSalesSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "netTotalSalesSourceAmountOrZero" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "paymentDetails" : {
            "acquiringFeeCapture" : {
              "apportionedAcross" : 3,
              "balanceTransactionIdentifier" : "txn_abc123",
              "capturedDate" : "2026-09-11T03:07:58.742",
              "chargeFee" : 450.0,
              "chargeIdentifier" : "ch_abc123",
              "source" : "WEBHOOK"
            },
            "acquiringFeeState" : "CAPTURED",
            "agentInvoiceIdentifier" : "invoice-1",
            "agentInvoicedDate" : "2017-12-22T03:07:58.742+0000",
            "chargeIdentifier" : "ch_abc123",
            "customerIdentifier" : "cus_abc123",
            "fees" : [ {
              "description" : "Fee charged for booking confirmation",
              "fee" : 450.0,
              "identifier" : "ABC1234",
              "type" : "BOOKING"
            } ],
            "selfAcquires" : false,
            "selfDisburses" : false,
            "sessionIdentifier" : "s_abc123",
            "transactionIdentifier" : "pi_3abc123",
            "vendor" : "STRIPE"
          },
          "payoutList" : [ {
            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "accountName" : "Hotel Sunrise",
            "beneficiaryType" : "SALE",
            "displayAmount" : 12.75,
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "internalAmount" : 12.75,
            "processedDate" : "2026-01-15T10:30:00Z",
            "sourceAmount" : 450.0,
            "status" : "COMPLETED",
            "withdrawalId" : "tr_abc123"
          } ],
          "places" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "refund" : {
            "cancelOnRefund" : "NONE",
            "createdDate" : "2026-01-15T10:30:00Z",
            "description" : "Guest requested cancellation",
            "displayAmount" : 12.75,
            "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "internalAmount" : 12.75,
            "processedDate" : "2026-01-15T10:30:00Z",
            "reason" : "REQUESTED_BY_CUSTOMER",
            "receiptUrl" : "https://pay.stripe.com/receipts/abc123",
            "requestor" : "BY_ADMIN",
            "response" : "Approved — refunding 50% per policy.",
            "sourceAmount" : 450.0,
            "status" : "SUCCEEDED",
            "stripeRefundFee" : 0.5,
            "stripeRefundId" : "re_abc123"
          },
          "refundFee" : {
            "internalAmount" : 450.0,
            "shareNotStated" : false,
            "sourceAmount" : 450.0,
            "state" : "CAPTURED"
          },
          "reportingAncillaryList" : [ {
            "currency" : "USD",
            "grossAmount" : 450.0,
            "name" : "Thai Massage",
            "netAmount" : 405.0,
            "netAmountWithRefund" : 405.0
          } ],
          "reportingDailyRateList" : [ {
            "baseAmount" : 450.0,
            "currency" : "USD",
            "date" : "2026-01-15",
            "grossAmount" : 405.0,
            "netAmount" : 360.0,
            "netAmountWithRefund" : 360.0
          } ],
          "reportingExtraChargeList" : [ {
            "currency" : "USD",
            "description" : "The charge is 50.00 USD and is charged per day.",
            "grossAmount" : 450.0,
            "name" : "Late checkout fee",
            "netAmount" : 405.0,
            "netAmountWithRefund" : 405.0
          } ],
          "restaurants" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "review" : {
            "answers" : [ {
              "category" : "SERVICE",
              "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
              "sort" : 1,
              "value" : 7
            } ],
            "approvedImage" : false,
            "approvedText" : true,
            "averageScore" : 8.7,
            "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
            "createdDate" : "2026-01-14T09:30:00",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
            "lastUpdate" : "2026-02-03T16:45:12",
            "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
            "responded" : false,
            "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
            "reviewDate" : "2026-01-14T09:30:00",
            "roomNumber" : "501",
            "roomRating" : 9,
            "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
            "user" : {
              "email" : "reservations@thesiamresidences.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "telephone" : "+66 2 126 8866",
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
            },
            "version" : 3
          },
          "roomStay" : {
            "activeCancellationPolicy" : {
              "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
              "createdDate" : "2026-01-14T09:30:00",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
              "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
              "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
              "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
              "refundable" : false,
              "refundableCancellationCharge" : "FIFTY_PERCENT",
              "version" : 3
            },
            "adults" : 2,
            "ancillaryList" : [ {
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "attendees" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "endDate" : "2017-12-22T08:07:58.742+0000",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "imageIdentifier" : "cloudinary-image-1",
              "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
              "localizedDescription" : "place-1",
              "localizedName" : "Plass 1",
              "name" : "Thai Massage Spa Treatment",
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "pricingType" : "PER_USE",
              "startDate" : "2017-12-22T03:07:58.742+0000",
              "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "type" : "ADD_ON",
              "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
            } ],
            "bedroomConfiguration" : {
              "bedroomList" : [ {
                "bedList" : [ {
                  "bedTypeCode" : "1",
                  "quantity" : 2
                } ],
                "type" : "MASTER"
              } ],
              "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "name" : "Master Suite Layout"
            },
            "children" : 0,
            "endDate" : "2025-12-27",
            "extraCharges" : {
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "items" : [ {
                "price" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                },
                "ratePlanLevelFee" : {
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "This is a longer description in the specified language.",
                    "language" : "en",
                    "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                  } ],
                  "fixedAmount" : 450.0,
                  "type" : "PER_DAY"
                },
                "unitPrice" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                }
              } ],
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "guestUser" : {
              "email" : "reservations@thesiamresidences.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "profile" : {
                "createdDate" : "2026-01-14T09:30:00",
                "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "lastUpdate" : "2026-02-03T16:45:12",
                "personal" : {
                  "address1" : "123 Petchburi Road",
                  "address2" : "Ratchathewi District",
                  "birthDate" : "1985-06-15",
                  "childQuantity" : 2,
                  "citizenship" : "Thailand",
                  "city" : "Bangkok",
                  "contactPerson" : [ {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  } ],
                  "country" : "TH",
                  "gender" : "FEMALE",
                  "language" : "en",
                  "maritalStatus" : "MARRIED",
                  "petInfo" : [ {
                    "name" : "Luna",
                    "type" : "Golden Retriever"
                  } ],
                  "postalCode" : "10400",
                  "preferredCurrency" : "USD",
                  "state" : "Bangkok"
                },
                "preferences" : {
                  "bedTypePref" : "King bed",
                  "cuisinePref" : "Thai",
                  "foodSrvcPref" : "In-room dining",
                  "guestType" : "Business traveler",
                  "hotelChainPref" : "Mandarin Oriental",
                  "mealPref" : "Continental breakfast",
                  "physChalFeaturePref" : "Wheelchair accessible rooms",
                  "propertyLocationPref" : "Beachfront",
                  "propertyTypePref" : "Luxury Resort",
                  "roomLocationPref" : "High floor with city view",
                  "smokingAllowed" : false
                },
                "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "share" : true,
                "user" : {
                  "email" : "alexandra@beaumont.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phone" : "+66212658866",
                  "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                },
                "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                "version" : 3
              },
              "telephone" : "+1 212 555 1212",
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
            },
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "perkTypes" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
            "price" : {
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "offerDetails" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "quantity" : 2,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "quantity" : 1,
            "ratePlan" : {
              "allInclusive" : false,
              "allInclusivePlusAlcohol" : false,
              "breakfast" : false,
              "brunch" : false,
              "dinner" : false,
              "earlyCheckInCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "lateCheckOutCharge" : {
                "fixedAmount" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "percent" : 0.25,
                "type" : "PERCENTAGE"
              },
              "lunch" : false,
              "name" : "BAR 1"
            },
            "room" : {
              "active" : true,
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "baseRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "bathroomCount" : 0,
              "bedroomConfigurationList" : [ {
                "bedroomList" : [ {
                  "bedList" : [ {
                    "bedTypeCode" : "1",
                    "quantity" : 2
                  } ],
                  "type" : "MASTER"
                } ],
                "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "name" : "Master Suite Layout"
              } ],
              "bookable" : true,
              "commissionable" : true,
              "composite" : false,
              "compositeCount" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "createdDate" : "2026-01-14T09:30:00",
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "featuredInd" : false,
              "floor" : "3",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "includedAdultOccupancy" : 2,
              "includedChildOccupancy" : 0,
              "lastUpdate" : "2026-02-03T16:45:12",
              "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
              "livingRoomCount" : 0,
              "location" : {
                "coordinates" : [ 100.5581533, 13.7370197 ],
                "type" : "POINT"
              },
              "maxAdultOccupancy" : 1,
              "maxChildOccupancy" : 0,
              "maxCribs" : 1,
              "maxOccupancy" : 2,
              "maxRollaways" : 0,
              "minAgeAppropriateCode" : "1",
              "minOccupancy" : 1,
              "minRate" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "Archery lesson",
              "nonSmoking" : true,
              "pricePoint" : "THREE",
              "proximityCode" : "1",
              "publishStatus" : "PUBLISHED",
              "quantity" : 40,
              "recognitionList" : [ {
                "category" : "AWARD",
                "date" : "2026-01-14",
                "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "maxRating" : 10.0,
                "officialAppointmentInd" : true,
                "provider" : "Michelin",
                "rating" : 8.5,
                "ratingSymbol" : "*",
                "type" : "PERCENT_RATING"
              } ],
              "roomArchitectureCode" : "1",
              "roomCategory" : "1",
              "roomClassificationCode" : "1",
              "roomGender" : "Female",
              "roomLocationCode" : "1",
              "roomViewCode" : "1",
              "sharedRoomInd" : false,
              "size" : 55,
              "socials" : [ {
                "location" : "https://www.instagram.com/thesiamresidences",
                "type" : "INSTAGRAM"
              } ],
              "sort" : 1,
              "transactionalInventoryList" : [ {
                "basePrice" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                } ],
                "discountedPrice" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "maxPax" : 10,
                "minPax" : 2,
                "multimedias" : [ {
                  "angle" : null,
                  "attribution" : [ ],
                  "category" : "2",
                  "descriptions" : [ {
                    "description" : "Elegant lobby of The Siam Residences",
                    "language" : "en",
                    "title" : "Lobby Entrance"
                  } ],
                  "height" : 1600,
                  "identifier" : "the-siam-residences/lobby-entrance",
                  "isLandscape" : true,
                  "lifestyleType" : null,
                  "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "published" : true,
                  "sort" : 10,
                  "source" : "CLOUDINARY",
                  "type" : "IMAGE",
                  "width" : 2560
                } ],
                "name" : "1 hour session",
                "percentDiscount" : 0.1,
                "percentPremium" : 0.1,
                "pricingType" : "PER_NIGHT"
              } ],
              "version" : 3
            },
            "roomImageUrl" : "https://path.to/room-image.jpg",
            "roomRateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
            "roomRateInternalName" : "Master Rate 1",
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "startDate" : "2025-12-24",
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "roomTypeAncillaries" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "spas" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "statusHistory" : [ {
            "actor" : "stripe-webhook",
            "fromStatus" : "PENDING",
            "reason" : "Payment confirmed by Stripe",
            "timestamp" : "2026-01-15T10:30:00Z",
            "toStatus" : "CONFIRMED"
          } ],
          "totalAffiliateAgencyFeesSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "totalPaymentProcessingFeeSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "totalPlatformFeeSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "totalSalesSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "totalSupplierAgencyFeesSourceAmount" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSession" : {
            "currency" : "USD",
            "itinerary" : {
              "endDate" : "2024-01-02",
              "items" : [ {
                "adults" : 2,
                "children" : [ {
                  "age" : 8,
                  "quantity" : 2
                } ]
              } ],
              "nights" : 7,
              "startDate" : "2024-01-01"
            },
            "language" : "en",
            "lifestyle" : "LUXURY",
            "promotionalCodes" : [ "promo-1" ],
            "selectedRoomConfigurationIndex" : 0
          },
          "version" : 3
        },
        "properties" : {
          "acquiringFee" : {
            "$ref" : "#/components/schemas/BookingPassThroughFee_Supplier",
            "description" : "Stripe's actual acquiring cost for this booking's charge, passed through to the hotel. Present only under STRIPE_PASS_THROUGH; null for legacy and agent bookings. Under a multi-room checkout this is THIS booking's apportioned share, not the whole charge's fee."
          },
          "activities" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_Supplier"
            }
          },
          "addOns" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_Supplier"
            }
          },
          "agentPayment" : {
            "type" : "boolean"
          },
          "agentSelfManaged" : {
            "type" : "boolean"
          },
          "ancillaryList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_Supplier"
            }
          },
          "attractions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_Supplier"
            }
          },
          "beneficiaryList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Beneficiary_Supplier"
            }
          },
          "booker" : {
            "$ref" : "#/components/schemas/BookingUser_Supplier",
            "description" : "The user who made the booking (may be an agent, not the traveler — see getGuestUser())."
          },
          "bookingCode" : {
            "type" : "string",
            "description" : "User-friendly booking confirmation code."
          },
          "bookingContractIdentifier" : {
            "type" : "string"
          },
          "bookingStatus" : {
            "type" : "string",
            "description" : "Booking lifecycle status.",
            "enum" : [ "INITIALIZED", "TEST_PAYMENT_SUCCEEDED", "PAYMENT_SUCCEEDED", "PAYMENT_FAILED", "FAILED", "CANCELLED", "PARTIALLY_REFUNDED", "FULLY_REFUNDED" ]
          },
          "cancelReason" : {
            "type" : "string"
          },
          "cancellable" : {
            "type" : "boolean",
            "description" : "Whether the booking can still be voluntarily cancelled (no later than the arrival day)."
          },
          "cancellation" : {
            "$ref" : "#/components/schemas/BookingCancellation_Supplier",
            "description" : "Cancellation details, present only when the booking is cancelled."
          },
          "cancellationType" : {
            "type" : "string",
            "description" : "Reason category for a booking cancellation",
            "enum" : [ "DUPLICATE", "CANCELLATION", "NO_SHOW", "CC_INVALID", "CC_INSUFFICIENT", "DISCRETIONARY" ]
          },
          "cancelled" : {
            "type" : "boolean"
          },
          "cancelledOn" : {
            "type" : "string",
            "format" : "date-time"
          },
          "comment" : {
            "type" : "string",
            "description" : "Free-form comment, used internally and by some channel managers."
          },
          "commissionableSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "creation" : {
            "type" : "string",
            "description" : "The kind of booking (normal, test, etc.) — used to derive rate source.",
            "enum" : [ "NORMAL", "TEST", "FAILED" ]
          },
          "customization" : {
            "$ref" : "#/components/schemas/CustomizationLightweight_Supplier",
            "description" : "The customization/branding context this booking was made under."
          },
          "detailedAdditionalChargesSourceTotals" : {
            "type" : "string",
            "description" : "Human-readable summary of additional charges, pre-computed from the raw entity's derived getter."
          },
          "displayCurrency" : {
            "type" : "string"
          },
          "earlyCheckInCharge" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Fixed fee for early check-in, if applicable."
          },
          "earlyCheckInChargePercent" : {
            "type" : "number",
            "format" : "float",
            "description" : "Percentage of first night charged for early check-in (alternative to fixed fee)."
          },
          "emailHeaderLogoUrl" : {
            "type" : "string",
            "description" : "Full URL of the property logo, optimized for emails."
          },
          "feeModel" : {
            "type" : "string",
            "description" : "Fee model this booking was priced under. Stamped at creation and never re-derived, so a booking keeps the model it was quoted with after the platform-wide flag flips. Do not infer it from a zero processing fee -- self-acquiring agent bookings are also zero and are FIXED_PROCESSING_FEE.",
            "enum" : [ "FIXED_PROCESSING_FEE", "STRIPE_PASS_THROUGH" ],
            "example" : "FIXED_PROCESSING_FEE"
          },
          "financialBreakdown" : {
            "$ref" : "#/components/schemas/FinancialBreakdown_Supplier",
            "description" : "Full financial breakdown (beneficiaries, per-type amounts, currencies)."
          },
          "fundsAddedToLedger" : {
            "type" : "boolean",
            "description" : "Whether funds have been recorded in the supplier's ledger.",
            "example" : false
          },
          "fundsAvailableDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Date the booking's funds become available to the supplier."
          },
          "fundsProcessed" : {
            "type" : "boolean",
            "description" : "Whether all funds have been processed for this booking.",
            "example" : false
          },
          "grossSourceAmount" : {
            "type" : "number"
          },
          "groupIdentifier" : {
            "type" : "string",
            "description" : "UUID grouping multiple bookings made together in a single multi-room transaction."
          },
          "guestUser" : {
            "$ref" : "#/components/schemas/GuestUser_Supplier"
          },
          "hasAdditionalCharges" : {
            "type" : "boolean",
            "description" : "Whether this booking has rate-plan-level extra charges."
          },
          "hasRefunds" : {
            "type" : "boolean"
          },
          "hotel" : {
            "$ref" : "#/components/schemas/PropertyAggregateLightweight_Supplier",
            "description" : "The property this booking belongs to."
          },
          "hotelImageUrl" : {
            "type" : "string",
            "description" : "Absolute URL of the property's featured image."
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lateCheckOutCharge" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Fixed fee for late checkout, if applicable."
          },
          "lateCheckOutChargePercent" : {
            "type" : "number",
            "format" : "float",
            "description" : "Percentage of first night charged for late checkout (alternative to fixed fee)."
          },
          "logoIdentifier" : {
            "type" : "string",
            "description" : "Cloudinary identifier for the property logo, for potential reuse."
          },
          "meetingRooms" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_Supplier"
            }
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Place to store related data."
          },
          "netDisplayAmount" : {
            "type" : "number"
          },
          "netSourceAmount" : {
            "type" : "number",
            "description" : "Net amount in source currency from the financial breakdown; null when not resolvable."
          },
          "netSourceAmountOrZero" : {
            "type" : "number"
          },
          "netTotalFeesAndCommissionsSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Net total of platform/processing fees and commissions in source currency; null when not resolvable."
          },
          "netTotalSalesSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Net total sales amount in source currency, summed across SALE-type beneficiaries; null when not resolvable."
          },
          "netTotalSalesSourceAmountOrZero" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "originalAffiliateAgencyFeesInPercent" : {
            "type" : "number",
            "description" : "Original affiliate agency fee percentage at booking time."
          },
          "originalCommissionsInPercent" : {
            "type" : "number",
            "description" : "Original commission percentage at booking time."
          },
          "originalFeesInPercent" : {
            "type" : "number",
            "description" : "Original platform fee percentage at booking time."
          },
          "originalSupplierAgencyFeesInPercent" : {
            "type" : "number",
            "description" : "Original supplier agency fee percentage at booking time."
          },
          "paymentDetails" : {
            "$ref" : "#/components/schemas/BookingPaymentDetails_Supplier",
            "description" : "Payment vendor/transaction metadata (transaction identifier, self-acquiring/self-disbursing flags, vendor-specific data)."
          },
          "paymentTransactionIdentifier" : {
            "type" : "string"
          },
          "paymentType" : {
            "type" : "string",
            "description" : "How this booking was paid for (Stripe, agent, etc.).",
            "enum" : [ "STRIPE", "AGENT" ]
          },
          "paymentVendor" : {
            "type" : "string",
            "description" : "Third-party vendor integrated with the Wink platform for payment acquiring or disbursement",
            "enum" : [ "STRIPE", "AGENT", "REVOLUT", "TEST" ]
          },
          "paymentVendorSpecific" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Vendor-specific payment metadata (payment method type, wallet type, etc.)."
          },
          "payoutList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingPayout_Supplier",
              "description" : "List of payouts disbursed to beneficiaries."
            }
          },
          "places" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_Supplier"
            }
          },
          "rateSource" : {
            "type" : "string"
          },
          "refund" : {
            "$ref" : "#/components/schemas/BookingRefund_Supplier",
            "description" : "Refund details, present only when a refund has been issued."
          },
          "refundFee" : {
            "$ref" : "#/components/schemas/BookingPassThroughFee_Supplier",
            "description" : "Stripe's fee for sending this booking's refund, passed through to the hotel. Present only under STRIPE_PASS_THROUGH and only once a refund exists; null otherwise. Stripe does not return the original acquiring cost on a refund, so a refunded booking bears both."
          },
          "reportingAncillaryList" : {
            "type" : "array",
            "description" : "Per-ancillary reporting accounting details, pre-computed from the raw entity's derived getReportingAncillaryList().",
            "items" : {
              "$ref" : "#/components/schemas/ReportingAncillary_Supplier"
            }
          },
          "reportingDailyRateList" : {
            "type" : "array",
            "description" : "Per-day reporting rate breakdown, pre-computed from the raw entity's derived getReportingDailyRateList().",
            "items" : {
              "$ref" : "#/components/schemas/ReportingDailyRate_Supplier"
            }
          },
          "reportingExtraChargeList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ReportingExtraCharge_Supplier",
              "description" : "Displays extra charge accounting details, pre-computed from the raw entity's derived getReportingExtraChargeList()."
            }
          },
          "restaurants" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_Supplier"
            }
          },
          "review" : {
            "$ref" : "#/components/schemas/ReviewLightweight_Supplier",
            "description" : "The guest's review of the stay, present only after the guest has submitted one."
          },
          "roomImageUrl" : {
            "type" : "string"
          },
          "roomStay" : {
            "$ref" : "#/components/schemas/BookingRoomStayLightweight_Supplier",
            "description" : "Booking-time room stay snapshot (occupancy, dates, price, room/rate-plan)."
          },
          "roomTypeAncillaries" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_Supplier"
            }
          },
          "selectedRoomConfigurationChildAges" : {
            "type" : "array",
            "description" : "Explicit per-child ages captured on the user's selected room configuration at booking time, when present (channel-manager-omnibees fallback data); empty when not present.",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          "serverUrl" : {
            "type" : "string",
            "description" : "The URL the booking occurred on."
          },
          "socials" : {
            "type" : "array",
            "description" : "List of all social network accounts the property has for the traveler to get in touch.",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sourceCurrency" : {
            "type" : "string",
            "description" : "Source (supplier) currency code."
          },
          "spas" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_Supplier"
            }
          },
          "specialRequests" : {
            "type" : "string",
            "description" : "Free-form special requests text."
          },
          "staticMapImageUrl" : {
            "type" : "string",
            "description" : "Google Maps static image URL for email display."
          },
          "staticMapUrl" : {
            "type" : "string",
            "description" : "Google Maps interactive URL for click-through."
          },
          "statusHistory" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BookingStatusTransition_Supplier",
              "description" : "Audit trail of status transitions."
            }
          },
          "stripePaymentIntentId" : {
            "type" : "string",
            "description" : "Stripe PaymentIntent identifier for this booking's payment, when paid via Stripe."
          },
          "totalAffiliateAgencyFeesSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalCommissionsInPercent" : {
            "type" : "number",
            "description" : "Total commissions percentage."
          },
          "totalCommissionsInPercentWithRefund" : {
            "type" : "number",
            "description" : "Total commissions percentage, adjusted for any refund."
          },
          "totalFeesAndCommissionsInPercent" : {
            "type" : "number",
            "description" : "Total fees and commissions percentage."
          },
          "totalFeesAndCommissionsInPercentWithRefund" : {
            "type" : "number",
            "description" : "Total fees and commissions percentage, adjusted for any refund."
          },
          "totalFeesInPercent" : {
            "type" : "number",
            "description" : "Total platform + payment-processing fee percentage."
          },
          "totalFeesInPercentWithRefund" : {
            "type" : "number",
            "description" : "Total platform + payment-processing fee percentage, adjusted for any refund."
          },
          "totalPaymentProcessingFeeInPercent" : {
            "type" : "number",
            "description" : "Total payment-processing fee percentage."
          },
          "totalPaymentProcessingFeeInPercentWithRefund" : {
            "type" : "number",
            "description" : "Total payment-processing fee percentage, adjusted for any refund."
          },
          "totalPaymentProcessingFeeSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalPlatformFeeInPercent" : {
            "type" : "number",
            "description" : "Platform (Wink) fee percentage only, as a fraction of gross."
          },
          "totalPlatformFeeInPercentWithRefund" : {
            "type" : "number",
            "description" : "Total platform fee percentage, adjusted for any refund."
          },
          "totalPlatformFeeSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalSalesSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalSupplierAgencyFeesSourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalTokensEarned" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total loyalty tokens earned for this booking."
          },
          "userSession" : {
            "$ref" : "#/components/schemas/BookingUserSession_Supplier",
            "description" : "Device/location/referrer/itinerary snapshot captured at booking time."
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        }
      },
      "BookingPassThroughFee_Supplier" : {
        "type" : "object",
        "description" : "A Stripe cost passed through to the hotel under the pass-through fee model: its capture state, the amount Stripe charged in the platform's internal currency, and that amount restated in the hotel's own currency at the booking's capture rate.",
        "example" : {
          "internalAmount" : 450.0,
          "shareNotStated" : false,
          "sourceAmount" : 450.0,
          "state" : "CAPTURED"
        },
        "properties" : {
          "capturedDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the fee was read from Stripe. Recorded for the acquiring fee only; the refund path stores no capture timestamp, so this is null there even when the fee is CAPTURED."
          },
          "internalAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "The fee as Stripe charged it, in the platform's internal settlement currency. Null until the fee is CAPTURED, AND null on a CAPTURED fee whose amount this booking cannot state as its own -- see the type description. Never infer an amount from the state.",
            "example" : 450.0
          },
          "shareNotStated" : {
            "type" : "boolean",
            "description" : "Whether a fee was charged and debited to the property while this booking cannot state its own share of it -- the case on a Stripe charge shared with other bookings. When true the amounts are absent by design and the property's ledger carries the figure; do not render this as 'no cost'.",
            "example" : false
          },
          "sourceAmount" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "The same fee restated in the hotel's source currency, at the booking's own capture rate (sourceAmount / internalAmount) -- the rate the guest's payment was converted at, so the fee nets against the credit it reduces. Null whenever internalAmount is null, and additionally when the booking's breakdown carries no usable capture ratio.",
            "example" : 450.0
          },
          "state" : {
            "type" : "string",
            "description" : "Whether the fee has been read from Stripe yet. PENDING means a fee is owed and the balance transaction has not posted -- it is never a zero fee.",
            "enum" : [ "PENDING", "CAPTURED", "NOT_APPLICABLE" ],
            "example" : "CAPTURED"
          }
        },
        "required" : [ "shareNotStated", "state" ]
      },
      "BookingPaymentDetails_Supplier" : {
        "type" : "object",
        "description" : "Vendor-agnostic payment details embedded in a booking, capturing the payment provider, charge identifiers, card details, and associated fees.",
        "example" : {
          "acquiringFeeCapture" : {
            "apportionedAcross" : 3,
            "balanceTransactionIdentifier" : "txn_abc123",
            "capturedDate" : "2026-09-11T03:07:58.742",
            "chargeFee" : 450.0,
            "chargeIdentifier" : "ch_abc123",
            "source" : "WEBHOOK"
          },
          "acquiringFeeState" : "CAPTURED",
          "agentInvoiceIdentifier" : "invoice-1",
          "agentInvoicedDate" : "2017-12-22T03:07:58.742+0000",
          "chargeIdentifier" : "ch_abc123",
          "customerIdentifier" : "cus_abc123",
          "fees" : [ {
            "description" : "Fee charged for booking confirmation",
            "fee" : 450.0,
            "identifier" : "ABC1234",
            "type" : "BOOKING"
          } ],
          "selfAcquires" : false,
          "selfDisburses" : false,
          "sessionIdentifier" : "s_abc123",
          "transactionIdentifier" : "pi_3abc123",
          "vendor" : "STRIPE"
        },
        "properties" : {
          "acquiringFeeCapture" : {
            "$ref" : "#/components/schemas/AcquiringFeeCapture_Supplier",
            "description" : "Audit record of the acquiring-fee read. Identical on every booking sharing the charge; present only once the fee has been captured. Visible to the property and its agents, not to the booker."
          },
          "acquiringFeeState" : {
            "type" : "string",
            "description" : "Capture state of the Stripe acquiring fee. Absent on bookings written before the field existed; use the resolved state rather than this raw value.",
            "enum" : [ "PENDING", "CAPTURED", "NOT_APPLICABLE" ],
            "example" : "CAPTURED"
          },
          "agentInvoiceIdentifier" : {
            "type" : "string",
            "description" : "The specific invoice this booking was registered on",
            "example" : "invoice-1"
          },
          "agentInvoicedDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The date/time the invoice was generated",
            "example" : "2017-12-22T03:07:58.742+0000"
          },
          "chargeIdentifier" : {
            "type" : "string",
            "description" : "Unique charge id from the vendor.",
            "example" : "ch_abc123"
          },
          "customerIdentifier" : {
            "type" : "string",
            "description" : "Unique customer id from the vendor.",
            "example" : "cus_abc123",
            "minLength" : 1
          },
          "fees" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Fee_Supplier",
              "description" : "Fees associated with this booking. Processor economics -- visible to the property and its agents, not to the booker."
            }
          },
          "selfAcquires" : {
            "type" : "boolean",
            "description" : "Whether the booking's travel agent acquires (collects) the guest payment themselves, outside Wink/TripPay. Snapshot of the agent's setting at booking time.",
            "example" : false
          },
          "selfDisburses" : {
            "type" : "boolean",
            "description" : "Whether the booking's travel agent disburses funds to the supplier themselves, outside Wink/TripPay. Snapshot of the agent's setting at booking time. When self-acquires AND self-disburses are both true, the SALE and COMMISSION amounts never touch Wink's ledger and are not withdrawable.",
            "example" : false
          },
          "sessionIdentifier" : {
            "type" : "string",
            "description" : "Unique session id from the vendor.",
            "example" : "s_abc123",
            "minLength" : 1
          },
          "transactionIdentifier" : {
            "type" : "string",
            "description" : "Unique transaction id from the vendor.",
            "example" : "pi_3abc123",
            "minLength" : 1
          },
          "vendor" : {
            "type" : "string",
            "description" : "Name of acquiring vendor",
            "enum" : [ "STRIPE", "AGENT", "REVOLUT", "TEST" ],
            "example" : "STRIPE"
          },
          "vendorSpecific" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Vendor specific values that are returned in a successful response"
          }
        },
        "required" : [ "customerIdentifier", "sessionIdentifier", "transactionIdentifier", "vendor", "vendorSpecific" ]
      },
      "BookingPayout_Supplier" : {
        "type" : "object",
        "description" : "Immutable payout record embedded in a booking, representing a funds disbursement to a beneficiary in source, internal, and display currencies.",
        "example" : {
          "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "accountName" : "Hotel Sunrise",
          "beneficiaryType" : "SALE",
          "displayAmount" : 12.75,
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "internalAmount" : 12.75,
          "processedDate" : "2026-01-15T10:30:00Z",
          "sourceAmount" : 450.0,
          "status" : "COMPLETED",
          "withdrawalId" : "tr_abc123"
        },
        "properties" : {
          "accountIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Account identifier of the beneficiary receiving funds.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "accountName" : {
            "type" : "string",
            "description" : "Account name of the beneficiary.",
            "example" : "Hotel Sunrise",
            "minLength" : 1
          },
          "beneficiaryType" : {
            "type" : "string",
            "description" : "Beneficiary type (SALE, COMMISSION, TRIP_PAY, etc.).",
            "example" : "SALE",
            "minLength" : 1
          },
          "displayAmount" : {
            "type" : "number",
            "description" : "Payout amount in display currency.",
            "example" : 12.75
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique payout identifier.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "internalAmount" : {
            "type" : "number",
            "description" : "Payout amount in internal (USD) currency.",
            "example" : 12.75
          },
          "processedDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the payout was processed.",
            "example" : "2026-01-15T10:30:00Z"
          },
          "sourceAmount" : {
            "type" : "number",
            "description" : "Payout amount in source currency.",
            "example" : 450.0
          },
          "status" : {
            "type" : "string",
            "description" : "Payout status (PENDING, COMPLETED, FAILED).",
            "example" : "COMPLETED",
            "minLength" : 1
          },
          "withdrawalId" : {
            "type" : "string",
            "description" : "External withdrawal/transfer ID from payment processor.",
            "example" : "tr_abc123"
          }
        },
        "required" : [ "accountIdentifier", "accountName", "beneficiaryType", "displayAmount", "identifier", "internalAmount", "sourceAmount", "status" ]
      },
      "BookingRefund_Supplier" : {
        "type" : "object",
        "description" : "Immutable refund record embedded in a booking, capturing the refund amount across source, internal, and display currencies along with reason, status, and requestor.",
        "example" : {
          "cancelOnRefund" : "NONE",
          "createdDate" : "2026-01-15T10:30:00Z",
          "description" : "Guest requested cancellation",
          "displayAmount" : 12.75,
          "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "internalAmount" : 12.75,
          "processedDate" : "2026-01-15T10:30:00Z",
          "reason" : "REQUESTED_BY_CUSTOMER",
          "receiptUrl" : "https://pay.stripe.com/receipts/abc123",
          "requestor" : "BY_ADMIN",
          "response" : "Approved — refunding 50% per policy.",
          "sourceAmount" : 450.0,
          "status" : "SUCCEEDED",
          "stripeRefundFee" : 0.5,
          "stripeRefundId" : "re_abc123"
        },
        "properties" : {
          "cancelOnRefund" : {
            "type" : "string",
            "description" : "Whether the booking should be cancelled when this refund is approved. Applied at admin-approval time, not at request time.",
            "enum" : [ "NONE", "CANCEL_ON_SUCCESSFUL_REFUND", "CANCEL_REGARDLESS" ],
            "example" : "NONE"
          },
          "createdDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the refund was created.",
            "example" : "2026-01-15T10:30:00Z"
          },
          "description" : {
            "type" : "string",
            "description" : "Human-readable description.",
            "example" : "Guest requested cancellation",
            "minLength" : 1
          },
          "displayAmount" : {
            "type" : "number",
            "description" : "Refund amount in display (user) currency.",
            "example" : 12.75
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique refund identifier.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "internalAmount" : {
            "type" : "number",
            "description" : "Refund amount in internal (USD/capture) currency.",
            "example" : 12.75
          },
          "processedDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the refund was processed by Stripe.",
            "example" : "2026-01-15T10:30:00Z"
          },
          "reason" : {
            "type" : "string",
            "description" : "Reason for the refund.",
            "enum" : [ "DUPLICATE", "FRAUDULENT", "REQUESTED_BY_CUSTOMER", "GUEST_COMPLAINT", "GUEST_BOOKED_INCORRECT_DATE", "GUEST_SICK", "OVERBOOKING", "EMERGENCY", "FLIGHT_CANCELLED", "DEATH_IN_FAMILY", "OTHER", "EXPIRED_UNCAPTURED_CHARGE", "AVAILABILITY_CHECK_FAILED" ],
            "example" : "REQUESTED_BY_CUSTOMER"
          },
          "receiptUrl" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Stripe receipt URL for the refund.",
            "example" : "https://pay.stripe.com/receipts/abc123"
          },
          "requestor" : {
            "type" : "string",
            "description" : "Who requested the refund.",
            "enum" : [ "BY_SUPPLIER", "BY_ADMIN", "BY_STRIPE", "BY_SYSTEM", "BY_AGENT", "BY_GUEST" ],
            "example" : "BY_ADMIN"
          },
          "response" : {
            "type" : "string",
            "description" : "Wink admin's response to the refund request. Kept separate from description so the admin's reply never overwrites the requester's (traveler/hotel) original text.",
            "example" : "Approved — refunding 50% per policy."
          },
          "sourceAmount" : {
            "type" : "number",
            "description" : "Refund amount in source (supplier/hotel) currency.",
            "example" : 450.0
          },
          "status" : {
            "type" : "string",
            "description" : "Current status of this refund.",
            "enum" : [ "PENDING", "SUCCEEDED", "CANCELED", "REQUIRES_ACTION", "FAILED" ],
            "example" : "SUCCEEDED"
          },
          "stripeRefundFee" : {
            "type" : "number",
            "description" : "Stripe refund processing fee in internal (capture) currency, captured asynchronously via webhook from balance_transaction.fee. Visible to the property and its agents, not to the booker.",
            "example" : 0.5
          },
          "stripeRefundId" : {
            "type" : "string",
            "description" : "Stripe Refund ID.",
            "example" : "re_abc123"
          }
        },
        "required" : [ "createdDate", "description", "displayAmount", "identifier", "internalAmount", "reason", "requestor", "sourceAmount", "status" ]
      },
      "BookingRoomStayLightweight_Supplier" : {
        "type" : "object",
        "description" : "Booking-time snapshot of a room stay, persisted on the booking document and carrying all pricing, occupancy, policy, and date range information needed to service the booking.",
        "example" : {
          "activeCancellationPolicy" : {
            "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
            "createdDate" : "2026-01-14T09:30:00",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
            "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
            "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
            "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
            "refundable" : false,
            "refundableCancellationCharge" : "FIFTY_PERCENT",
            "version" : 3
          },
          "adults" : 2,
          "ancillaryList" : [ {
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "attendees" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "endDate" : "2017-12-22T08:07:58.742+0000",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "imageIdentifier" : "cloudinary-image-1",
            "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
            "localizedDescription" : "place-1",
            "localizedName" : "Plass 1",
            "name" : "Thai Massage Spa Treatment",
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "pricingType" : "PER_USE",
            "startDate" : "2017-12-22T03:07:58.742+0000",
            "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
            "type" : "ADD_ON",
            "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
          } ],
          "bedroomConfiguration" : {
            "bedroomList" : [ {
              "bedList" : [ {
                "bedTypeCode" : "1",
                "quantity" : 2
              } ],
              "type" : "MASTER"
            } ],
            "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "name" : "Master Suite Layout"
          },
          "children" : 0,
          "endDate" : "2025-12-27",
          "extraCharges" : {
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "items" : [ {
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "ratePlanLevelFee" : {
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "fixedAmount" : 450.0,
                "type" : "PER_DAY"
              },
              "unitPrice" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              }
            } ],
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "financialBreakdown" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "displayPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "internalPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            }
          },
          "guestUser" : {
            "email" : "reservations@thesiamresidences.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "profile" : {
              "createdDate" : "2026-01-14T09:30:00",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "personal" : {
                "address1" : "123 Petchburi Road",
                "address2" : "Ratchathewi District",
                "birthDate" : "1985-06-15",
                "childQuantity" : 2,
                "citizenship" : "Thailand",
                "city" : "Bangkok",
                "contactPerson" : [ {
                  "email" : "johnsmith@email.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phoneNumber" : "+12125551212",
                  "secondaryEmail" : "johnsmith2@email.com",
                  "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                } ],
                "country" : "TH",
                "gender" : "FEMALE",
                "language" : "en",
                "maritalStatus" : "MARRIED",
                "petInfo" : [ {
                  "name" : "Luna",
                  "type" : "Golden Retriever"
                } ],
                "postalCode" : "10400",
                "preferredCurrency" : "USD",
                "state" : "Bangkok"
              },
              "preferences" : {
                "bedTypePref" : "King bed",
                "cuisinePref" : "Thai",
                "foodSrvcPref" : "In-room dining",
                "guestType" : "Business traveler",
                "hotelChainPref" : "Mandarin Oriental",
                "mealPref" : "Continental breakfast",
                "physChalFeaturePref" : "Wheelchair accessible rooms",
                "propertyLocationPref" : "Beachfront",
                "propertyTypePref" : "Luxury Resort",
                "roomLocationPref" : "High floor with city view",
                "smokingAllowed" : false
              },
              "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "share" : true,
              "user" : {
                "email" : "alexandra@beaumont.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phone" : "+66212658866",
                "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
              },
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
              "version" : 3
            },
            "telephone" : "+1 212 555 1212",
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "perkTypes" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
          "price" : {
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "internalBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "offerDetails" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "quantity" : 2,
            "sourceBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "quantity" : 1,
          "ratePlan" : {
            "allInclusive" : false,
            "allInclusivePlusAlcohol" : false,
            "breakfast" : false,
            "brunch" : false,
            "dinner" : false,
            "earlyCheckInCharge" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "lateCheckOutCharge" : {
              "fixedAmount" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "percent" : 0.25,
              "type" : "PERCENTAGE"
            },
            "lunch" : false,
            "name" : "BAR 1"
          },
          "room" : {
            "active" : true,
            "address" : {
              "address1" : "234 Near da beach",
              "address2" : "Pebble #5001",
              "city" : "Bangkok",
              "country" : "United States",
              "countryCode" : "TH",
              "county" : "Alameda county",
              "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
              "postalCode" : "90210",
              "state" : "CA"
            },
            "baseRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "bathroomCount" : 0,
            "bedroomConfigurationList" : [ {
              "bedroomList" : [ {
                "bedList" : [ {
                  "bedTypeCode" : "1",
                  "quantity" : 2
                } ],
                "type" : "MASTER"
              } ],
              "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "name" : "Master Suite Layout"
            } ],
            "bookable" : true,
            "commissionable" : true,
            "composite" : false,
            "compositeCount" : 2,
            "contact" : {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            },
            "createdDate" : "2026-01-14T09:30:00",
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "featuredInd" : false,
            "floor" : "3",
            "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "includedAdultOccupancy" : 2,
            "includedChildOccupancy" : 0,
            "lastUpdate" : "2026-02-03T16:45:12",
            "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
            "livingRoomCount" : 0,
            "location" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            },
            "maxAdultOccupancy" : 1,
            "maxChildOccupancy" : 0,
            "maxCribs" : 1,
            "maxOccupancy" : 2,
            "maxRollaways" : 0,
            "minAgeAppropriateCode" : "1",
            "minOccupancy" : 1,
            "minRate" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "Archery lesson",
            "nonSmoking" : true,
            "pricePoint" : "THREE",
            "proximityCode" : "1",
            "publishStatus" : "PUBLISHED",
            "quantity" : 40,
            "recognitionList" : [ {
              "category" : "AWARD",
              "date" : "2026-01-14",
              "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "maxRating" : 10.0,
              "officialAppointmentInd" : true,
              "provider" : "Michelin",
              "rating" : 8.5,
              "ratingSymbol" : "*",
              "type" : "PERCENT_RATING"
            } ],
            "roomArchitectureCode" : "1",
            "roomCategory" : "1",
            "roomClassificationCode" : "1",
            "roomGender" : "Female",
            "roomLocationCode" : "1",
            "roomViewCode" : "1",
            "sharedRoomInd" : false,
            "size" : 55,
            "socials" : [ {
              "location" : "https://www.instagram.com/thesiamresidences",
              "type" : "INSTAGRAM"
            } ],
            "sort" : 1,
            "transactionalInventoryList" : [ {
              "basePrice" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                "language" : "en",
                "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                "name" : "Deluxe River View Suite"
              } ],
              "discountedPrice" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "maxPax" : 10,
              "minPax" : 2,
              "multimedias" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "1 hour session",
              "percentDiscount" : 0.1,
              "percentPremium" : 0.1,
              "pricingType" : "PER_NIGHT"
            } ],
            "version" : 3
          },
          "roomImageUrl" : "https://path.to/room-image.jpg",
          "roomRateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
          "roomRateInternalName" : "Master Rate 1",
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "startDate" : "2025-12-24",
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "activeCancellationPolicy" : {
            "$ref" : "#/components/schemas/CancellationPolicyLightweight_Supplier",
            "description" : "Active cancellation policy resolved at booking time."
          },
          "adults" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "The actual amount of adults as determined by the hotel's policy.",
            "example" : 2
          },
          "ancillaryList" : {
            "type" : "array",
            "description" : "Ancillary services attached to this room stay.",
            "items" : {
              "$ref" : "#/components/schemas/BookingAncillary_Supplier"
            }
          },
          "bedroomConfiguration" : {
            "$ref" : "#/components/schemas/BedroomConfiguration_Supplier",
            "description" : "Desired bedroom layout"
          },
          "children" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The actual amount of children as determined by the hotel's policy.",
            "example" : 0
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Check-out date",
            "example" : "2025-12-27"
          },
          "extraCharges" : {
            "$ref" : "#/components/schemas/ExtraCharges_Supplier",
            "description" : "Rate plan-level extra charges"
          },
          "financialBreakdown" : {
            "$ref" : "#/components/schemas/FinancialBreakdown_Supplier"
          },
          "guestUser" : {
            "$ref" : "#/components/schemas/GuestUser_Supplier",
            "description" : "Guest assigned to this room stay (lead occupant)."
          },
          "guests" : {
            "type" : "integer",
            "format" : "int32"
          },
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "perkTypes" : {
            "type" : "array",
            "description" : "List of perks that came with the master rate",
            "example" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
            "items" : {
              "$ref" : "#/components/schemas/PerkLightweight_Supplier"
            }
          },
          "price" : {
            "$ref" : "#/components/schemas/BookingStayRateLightweight_Supplier",
            "description" : "Price details. Already quantity-scaled — its totals and breakdown represent all booked rooms."
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of identical rooms of this type. Display only — the money-bearing quantity lives on price (BookingStayRateLightweight).",
            "example" : 1
          },
          "ratePlan" : {
            "$ref" : "#/components/schemas/RoomConfigurationPriceRatePlan_Supplier",
            "description" : "Rate plan used for this stay"
          },
          "rateSource" : {
            "type" : "string"
          },
          "room" : {
            "$ref" : "#/components/schemas/GuestRoomLightweight_Supplier",
            "description" : "Guest room details."
          },
          "roomImageUrl" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Absolute URL of room image",
            "example" : "https://path.to/room-image.jpg"
          },
          "roomNights" : {
            "type" : "integer",
            "format" : "int64"
          },
          "roomRateIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Master rate identifier",
            "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
            "minLength" : 1
          },
          "roomRateInternalName" : {
            "type" : "string",
            "description" : "Master rate internal name",
            "example" : "Master Rate 1",
            "minLength" : 1
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Check-in date",
            "example" : "2025-12-24"
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          }
        },
        "required" : [ "adults", "children", "endDate", "price", "ratePlan", "room", "roomRateIdentifier", "roomRateInternalName", "startDate" ]
      },
      "BookingStatusTransition_Supplier" : {
        "type" : "object",
        "description" : "Audit record capturing a single booking status transition, including the previous status, the new status, when the transition occurred, and who triggered it.",
        "example" : {
          "actor" : "stripe-webhook",
          "fromStatus" : "PENDING",
          "reason" : "Payment confirmed by Stripe",
          "timestamp" : "2026-01-15T10:30:00Z",
          "toStatus" : "CONFIRMED"
        },
        "properties" : {
          "actor" : {
            "type" : "string",
            "description" : "Who or what triggered the transition.",
            "example" : "stripe-webhook"
          },
          "fromStatus" : {
            "type" : "string",
            "description" : "Status before the transition.",
            "enum" : [ "INITIALIZED", "TEST_PAYMENT_SUCCEEDED", "PAYMENT_SUCCEEDED", "PAYMENT_FAILED", "FAILED", "CANCELLED", "PARTIALLY_REFUNDED", "FULLY_REFUNDED" ],
            "example" : "PENDING"
          },
          "reason" : {
            "type" : "string",
            "description" : "Human-readable reason for the transition.",
            "example" : "Payment confirmed by Stripe"
          },
          "timestamp" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "When the transition occurred.",
            "example" : "2026-01-15T10:30:00Z"
          },
          "toStatus" : {
            "type" : "string",
            "description" : "Status after the transition.",
            "enum" : [ "INITIALIZED", "TEST_PAYMENT_SUCCEEDED", "PAYMENT_SUCCEEDED", "PAYMENT_FAILED", "FAILED", "CANCELLED", "PARTIALLY_REFUNDED", "FULLY_REFUNDED" ],
            "example" : "CONFIRMED"
          }
        },
        "required" : [ "fromStatus", "timestamp", "toStatus" ]
      },
      "BookingStayRateLightweight_Supplier" : {
        "type" : "object",
        "description" : "Booking-time snapshot of the aggregate stay rate for one room type, with all monetary fields pre-multiplied by the booked quantity across source, internal, and user-display currencies.",
        "example" : {
          "financialBreakdown" : {
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "displayPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "internalPriceQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            }
          },
          "internalBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "offerDetails" : [ {
            "creator" : "USER",
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
          } ],
          "quantity" : 2,
          "sourceBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "sourceToInternalCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceToUserCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "available" : {
            "type" : "boolean"
          },
          "channelDiscountPercent" : {
            "type" : "number"
          },
          "financialBreakdown" : {
            "$ref" : "#/components/schemas/FinancialBreakdown_Supplier"
          },
          "internalBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "internalChannelModifier" : {
            "type" : "number"
          },
          "internalExtraChildModifier" : {
            "type" : "number"
          },
          "internalExtraPaxModifier" : {
            "type" : "number"
          },
          "internalPremiumModifier" : {
            "type" : "number"
          },
          "internalPromotionalModifier" : {
            "type" : "number"
          },
          "internalSingleOccupantModifier" : {
            "type" : "number"
          },
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Stay total in wink currency (per-room x quantity)."
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32"
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offerDetails" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LocalizedDescription_Supplier"
            }
          },
          "premiumPercent" : {
            "type" : "number"
          },
          "promotionalCodes" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "promotionalDiscountPercent" : {
            "type" : "number"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of identical rooms booked of this type. The one money-bearing quantity.",
            "example" : 2
          },
          "rateSource" : {
            "type" : "string"
          },
          "sourceBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "sourceChannelModifier" : {
            "type" : "number"
          },
          "sourceExtraChildModifier" : {
            "type" : "number"
          },
          "sourceExtraPaxModifier" : {
            "type" : "number"
          },
          "sourcePremiumModifier" : {
            "type" : "number"
          },
          "sourcePromotionalModifier" : {
            "type" : "number"
          },
          "sourceSingleOccupantModifier" : {
            "type" : "number"
          },
          "sourceToInternalCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_Supplier"
          },
          "sourceToUserCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_Supplier"
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Stay total in hotel currency (per-room x quantity)."
          },
          "totalDiscountPercent" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "userSpecifiedCurrencyChannelModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyExtraChildModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyExtraPaxModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyPremiumModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyPromotionalModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencySingleOccupantModifier" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Stay total in user specified currency (per-room x quantity)."
          }
        }
      },
      "BookingUserSession_Supplier" : {
        "type" : "object",
        "description" : "User session information containing itinerary and other user related data.",
        "example" : {
          "currency" : "USD",
          "itinerary" : {
            "endDate" : "2024-01-02",
            "items" : [ {
              "adults" : 2,
              "children" : [ {
                "age" : 8,
                "quantity" : 2
              } ]
            } ],
            "nights" : 7,
            "startDate" : "2024-01-01"
          },
          "language" : "en",
          "lifestyle" : "LUXURY",
          "promotionalCodes" : [ "promo-1" ],
          "selectedRoomConfigurationIndex" : 0
        },
        "properties" : {
          "currency" : {
            "type" : "string",
            "description" : "User's currency preference",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "itinerary" : {
            "$ref" : "#/components/schemas/BookingItinerary_Supplier",
            "description" : "Dates and travel info."
          },
          "language" : {
            "type" : "string",
            "description" : "User's language preference",
            "example" : "en",
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "lifestyle" : {
            "type" : "string",
            "description" : "The preferred user lifestyle.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LUXURY"
          },
          "promotionalCodes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "User can pass promotional codes to system to change prices.",
              "example" : "promo-1"
            }
          },
          "selectedRoomConfigurationIndex" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "User can pass the current room configuration index to retrieve rates specifically for that room configuration.",
            "example" : 0
          }
        },
        "required" : [ "itinerary" ]
      },
      "BookingUser_Supplier" : {
        "type" : "object",
        "description" : "Guest or traveller identity information collected at booking time, capturing the required contact fields for confirmation, check-in, and communication",
        "example" : {
          "email" : "reservations@thesiamresidences.com",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "lastName" : "Beaumont",
          "telephone" : "+1 212 555 1212",
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Email",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name",
            "example" : "Alexandra",
            "minLength" : 1
          },
          "fullName" : {
            "type" : "string",
            "description" : "Full name",
            "example" : "Alexandra Beaumont",
            "readOnly" : true
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name",
            "example" : "Beaumont",
            "minLength" : 1
          },
          "telephone" : {
            "type" : "string",
            "description" : "Telephone",
            "example" : "+1 212 555 1212",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "User identifier",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          }
        },
        "required" : [ "email", "firstName", "lastName" ]
      },
      "Child_Supplier" : {
        "type" : "object",
        "description" : "Child guest with age and quantity in a room configuration",
        "example" : {
          "age" : 7,
          "quantity" : 2
        },
        "properties" : {
          "age" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Age of each child in this group (years)",
            "example" : 7,
            "minimum" : 0
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Count of children of this age group in the room",
            "example" : 2,
            "minimum" : 1
          }
        },
        "required" : [ "age", "quantity" ]
      },
      "CustomizationLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a customization configuration used in listings and cross-module references",
        "example" : {
          "appendToPageTitle" : "Hotels with Benefits",
          "cardDesign" : "DEFAULT",
          "cardLayout" : "VERTICAL",
          "city" : {
            "admin1Code" : "40",
            "admin2Code" : "2401",
            "admin3Code" : "",
            "admin4Code" : "",
            "alternateCountryCodes" : [ ],
            "alternateNames" : [ "Krung Thep", "BKK" ],
            "asciiName" : "Bangkok",
            "country" : {
              "area" : 514000.0,
              "capital" : "Bangkok",
              "continent" : "AS",
              "currencyCode" : "THB",
              "currencyName" : "Baht",
              "fips" : "TH",
              "geoNameId" : "1605651",
              "iso" : "TH",
              "iso3" : "THA",
              "isoNumeric" : 764,
              "languages" : [ "th" ],
              "name" : "Thailand",
              "neighbors" : [ "LA", "MM", "KH", "MY" ],
              "phone" : "66",
              "population" : 69428524,
              "postalCodeFormat" : "#####",
              "postalCodeRegEx" : "^(\\d{5})$",
              "topLevelDomain" : ".th"
            },
            "countryCode" : "TH",
            "digitalElevationModel" : "3",
            "elevation" : 5,
            "featureClass" : "P",
            "featureCode" : "PPLC",
            "geoNameId" : "1609350",
            "location" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            },
            "modificationDate" : "2023-06-15",
            "name" : "Bangkok",
            "population" : 10539415,
            "radiusInMeters" : 50000,
            "subCountry" : {
              "asciiName" : "Bangkok",
              "code" : "TH.40",
              "countryCode" : "TH",
              "geoNameId" : "1609350",
              "name" : "Bangkok",
              "subCountryCode" : "40"
            },
            "subSubCountry" : {
              "asciiName" : "Bangkok District",
              "code" : "TH.40.2401",
              "countryCode" : "TH",
              "geoNameId" : "1609352",
              "name" : "Bangkok District",
              "subCountryCode" : "40",
              "subSubCountryCode" : "2401"
            },
            "timezone" : "Asia/Bangkok",
            "type" : "CITY",
            "urlName" : "bangkok-thailand"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "defaultCurrency" : "THB",
          "defaultLanguage" : "en",
          "defaultLifestyle" : "LIFESTYLE_HEALTH_FITNESS",
          "endDate" : "2026-07-22",
          "googleAnalyticsMeasurementId" : "G-ABCDEF1234",
          "googleMapsAPIKey" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6",
          "googleTagManagerContainerId" : "GTM-XXXXX",
          "hostedBookingEngineUrl" : "https://book.thesiamresidences.com/reservations",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "layout" : "INFORMATIONAL",
          "logos" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Luxury Travel Portal",
          "numberOfAdvanceDays" : 7,
          "numberOfStayDays" : 3,
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "ownerName" : "Premium Hotels International",
          "primary" : true,
          "roomConfiguration" : {
            "adults" : 2,
            "children" : [ {
              "age" : 7,
              "quantity" : 2
            } ],
            "quantity" : 2
          },
          "selfHosted" : true,
          "sendBookingNotificationEmailsToBooker" : true,
          "sendBookingNotificationEmailsToChannelManager" : true,
          "sendBookingNotificationEmailsToProperty" : true,
          "showRankings" : true,
          "showSearch" : true,
          "showUnavailableCard" : false,
          "startDate" : "2026-07-15",
          "subType" : "APPLICATION",
          "themeColors" : {
            "body" : "#212529",
            "danger" : "#dc3545",
            "dark" : "#343a40",
            "info" : "#17a2b8",
            "light" : "#f8f9fa",
            "muted" : "#6c757d",
            "primary" : "#dc3545",
            "secondary" : "#6c757d",
            "success" : "#28a745",
            "warning" : "#ffc107",
            "white" : "#ffffff"
          },
          "trackingPixels" : [ {
            "accessToken" : "EAABsbCS0kB4BAAI...",
            "consentCategory" : "MARKETING",
            "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
            "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
            "enabled" : true,
            "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
            "name" : "Facebook Conversion Pixel",
            "pixelId" : "1234567890",
            "provider" : "FACEBOOK",
            "triggers" : [ {
              "eventType" : "PURCHASE",
              "parameters" : [ {
                "key" : "currency",
                "value" : "USD"
              } ]
            } ],
            "type" : "JAVASCRIPT"
          } ],
          "useDays" : true,
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
          "version" : 3,
          "wcBookClickAction" : "IBE_MODAL"
        },
        "properties" : {
          "appendToPageTitle" : {
            "type" : "string",
            "description" : "Whether to append text to the existing booking customization page title.",
            "example" : "Hotels with Benefits"
          },
          "cardDesign" : {
            "type" : "string",
            "default" : "DEFAULT",
            "description" : "Choose the card design to use on our web component cards.",
            "enum" : [ "DEFAULT" ],
            "example" : "DEFAULT"
          },
          "cardLayout" : {
            "type" : "string",
            "default" : "VERTICAL",
            "description" : "Choose how you large you want our web component cards to be.",
            "enum" : [ "HORIZONTAL", "VERTICAL" ],
            "example" : "VERTICAL"
          },
          "city" : {
            "$ref" : "#/components/schemas/GeoNameLightweight_Supplier"
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "defaultCurrency" : {
            "type" : "string",
            "default" : "USD",
            "description" : "Control which currency your users see prices in initially.",
            "example" : "THB",
            "pattern" : "^[A-Z]{3}$"
          },
          "defaultLanguage" : {
            "type" : "string",
            "default" : "en",
            "description" : "Control which language your users see text in initially.",
            "example" : "en",
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "defaultLifestyle" : {
            "type" : "string",
            "description" : "Control which lifestyle contextx your users see initially.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "endDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Set a fixed itinerary end date ONLY populate this field if you want to fix the itinerary date. Also, leave `numberOfAdvanceDays` and `numberOfStayDays` empty.",
            "example" : "2026-07-22"
          },
          "fontId" : {
            "type" : "string",
            "description" : "Custom font for the booking engine. Null means use the system default.",
            "enum" : [ "UI_SANS_SERIF", "UI_SERIF", "PLAYFAIR_DISPLAY", "LIBRE_BASKERVILLE", "CORMORANT_GARAMOND", "JOSEFIN_SANS", "RALEWAY", "LORA", "SPACE_GROTESK", "DM_SERIF_DISPLAY", "OUTFIT", "CRIMSON_PRO", "CINZEL", "BODONI_MODA", "EB_GARAMOND", "ITALIANA", "FORUM", "TENOR_SANS", "GILDA_DISPLAY", "MARCELLUS" ]
          },
          "googleAnalyticsMeasurementId" : {
            "type" : "string",
            "description" : "Your GA4 Measurement ID (G-XXXXXXX). Configured client-side via gtag; the purchase event fires on the thank-you page, not server-side.",
            "example" : "G-ABCDEF1234"
          },
          "googleMapsAPIKey" : {
            "type" : "string",
            "description" : "If you want your users to see Google Maps in your hosted booking customization, go to [Google Maps](https://console.developers.google.com/projectselector2/apis/credentials?supportedpurview=project) and create an API key for your site.",
            "example" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6"
          },
          "googleTagManagerContainerId" : {
            "type" : "string",
            "description" : "If you want to track analytics and you have a GTM Container ID, enter it here. Treated as a black box and loaded client-side; the container's own tags decide what fires.",
            "example" : "GTM-XXXXX"
          },
          "hostedBookingEngineUrl" : {
            "type" : "string",
            "format" : "uri",
            "default" : "https://book.wink.travel",
            "description" : "If you are self-hosting our booking customization, let us know where it is hosted. Note: This url needs to be secured with SSL.",
            "example" : "https://book.thesiamresidences.com/reservations"
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "layout" : {
            "type" : "string",
            "default" : "INFORMATIONAL",
            "description" : "Choose how you want our web component cards laid out.",
            "enum" : [ "INFORMATIONAL", "TRANSACTIONAL" ],
            "example" : "INFORMATIONAL"
          },
          "logos" : {
            "type" : "array",
            "description" : "Customize booking confirmation emails by adding a custom logo to your configuration.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Engine configuration name",
            "example" : "Luxury Travel Portal",
            "minLength" : 1
          },
          "numberOfAdvanceDays" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "You can control the initial itinerary date used to retrieve travel inventory prices. You can do it in one of two ways: 1. Dynamically set the date by indicating how long and how many days in advance (this field), of today's date, you want to display prices for. 2. Set a fixed date to display prices for. Option 1 is the most shared. Option 2 is for when you want to create a new customization and apply it to a specific event that occurs on a specific date. If you don't use either of these options, the itinerary will default to today's date with one night stay. ONLY populate this field if you want to control the itinerary date. Also, leave `startDate` and `endDate` empty.",
            "example" : 7
          },
          "numberOfStayDays" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "You can control the initial itinerary date used to retrieve travel inventory prices. You can do it in one of two ways: 1. Dynamically set the date by indicating how long (this field) and how many days in advance, of today's date, you want to display prices for. 2. Set a fixed date to display prices for. Option 1 is the most shared. Option 2 is for when you want to create a new customization and apply it to a specific event that occurs on a specific date. If you don't use either of these options, the itinerary will default to today's date with one night stay. ONLY populate this field if you want to control the itinerary date. Also, leave `startDate` and `endDate` empty.",
            "example" : 3
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Engine configuration record creator identifier",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
          },
          "ownerName" : {
            "type" : "string",
            "description" : "Name of company owner.",
            "example" : "Premium Hotels International"
          },
          "primary" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates whether this configuration is primary. A primary configuration cannot be removed.",
            "example" : true
          },
          "promotionalCodes" : {
            "type" : "array",
            "description" : "If you've received special promotional codes from suppliers to give to your audience, you can choose to bake these code directly into the price by entering them here.",
            "items" : {
              "type" : "string"
            }
          },
          "roomConfiguration" : {
            "$ref" : "#/components/schemas/RoomConfiguration_Supplier",
            "description" : "Control how many adults / children will be staying and how many of that room to book. Defaults to: One room, two adults."
          },
          "selfHosted" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Flag to indicate you are self-hosting our booking customization and not using our default booking customization url.",
            "example" : true
          },
          "sendBookingNotificationEmailsToBooker" : {
            "type" : "boolean",
            "default" : true,
            "description" : "An integrator can choose to disable outgoing emails to users because they want to do that themselves.",
            "example" : true
          },
          "sendBookingNotificationEmailsToChannelManager" : {
            "type" : "boolean",
            "default" : true,
            "description" : "An integrator can choose to disable notifying the property's channel manager. Note: This should ONLY be done for testing.",
            "example" : true
          },
          "sendBookingNotificationEmailsToProperty" : {
            "type" : "boolean",
            "default" : true,
            "description" : "An integrator can choose to disable outgoing emails to properties because they want to do that themselves.",
            "example" : true
          },
          "showRankings" : {
            "type" : "boolean",
            "description" : "Whether to display rankings (lifestyle, eco score and reviews) on hotel landing page.",
            "example" : true
          },
          "showSearch" : {
            "type" : "boolean",
            "description" : "This feature flag controls whether to let a user move away from the hotel landing page using search.",
            "example" : true
          },
          "showUnavailableCard" : {
            "type" : "boolean",
            "description" : "Show unavailable inventory card when inventory not currently for sale. Otherwise, it displays a normal card but without the price.",
            "example" : false
          },
          "startDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Set a fixed itinerary start date. ONLY populate this field if you want to fix the itinerary date. Also, leave `numberOfAdvanceDays` and `numberOfStayDays` empty.",
            "example" : "2026-07-15"
          },
          "subType" : {
            "type" : "string",
            "description" : "Sales channel sub-type.",
            "enum" : [ "TRIP_PAY", "FACILITATOR", "DIRECT", "APPLICATION", "HOTEL", "TRAVELIKO", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "GOOGLE_HOTEL_API", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ],
            "example" : "APPLICATION"
          },
          "themeColors" : {
            "$ref" : "#/components/schemas/CustomizationThemeColors_Supplier",
            "description" : "Choose how you want our web components to look and more closely match with your own site style."
          },
          "trackingPixels" : {
            "type" : "array",
            "description" : "Tracking pixels and web beacons for analytics and conversion tracking.",
            "items" : {
              "$ref" : "#/components/schemas/TrackingPixel_Supplier"
            }
          },
          "useDays" : {
            "type" : "boolean",
            "description" : "if true, we use numberOfAdvanceDays / numberOfStayDays properties - false, we use startDate / endDate",
            "example" : true
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Authenticated user identifier",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          },
          "wcBookClickAction" : {
            "type" : "string",
            "description" : "Action to complete once a user clicks on the CTA button on inventory.",
            "enum" : [ "FORWARD_TO_IBE", "IBE_MODAL" ],
            "example" : "IBE_MODAL"
          }
        },
        "required" : [ "id", "name", "ownerIdentifier", "ownerName", "subType", "userIdentifier" ]
      },
      "CustomizationThemeColors_Supplier" : {
        "type" : "object",
        "description" : "Bootstrap-compatible color palette used to style the booking engine web components; all values are CSS hex color codes",
        "example" : {
          "body" : "#212529",
          "danger" : "#dc3545",
          "dark" : "#343a40",
          "info" : "#17a2b8",
          "light" : "#f8f9fa",
          "muted" : "#6c757d",
          "primary" : "#dc3545",
          "secondary" : "#6c757d",
          "success" : "#28a745",
          "warning" : "#ffc107",
          "white" : "#ffffff"
        },
        "properties" : {
          "body" : {
            "type" : "string",
            "default" : "#212529",
            "description" : "Body color",
            "example" : "#212529"
          },
          "danger" : {
            "type" : "string",
            "default" : "#dc3545",
            "description" : "Danger color",
            "example" : "#dc3545"
          },
          "dark" : {
            "type" : "string",
            "default" : "#343a40",
            "description" : "Dark color",
            "example" : "#343a40"
          },
          "info" : {
            "type" : "string",
            "default" : "#17a2b8",
            "description" : "Info color",
            "example" : "#17a2b8"
          },
          "light" : {
            "type" : "string",
            "default" : "#f8f9fa",
            "description" : "Light color",
            "example" : "#f8f9fa"
          },
          "muted" : {
            "type" : "string",
            "default" : "#6c757d",
            "description" : "Muted color",
            "example" : "#6c757d"
          },
          "primary" : {
            "type" : "string",
            "default" : "#dc3545",
            "description" : "Primary color",
            "example" : "#dc3545"
          },
          "secondary" : {
            "type" : "string",
            "default" : "#6c757d",
            "description" : "Secondary color",
            "example" : "#6c757d"
          },
          "success" : {
            "type" : "string",
            "default" : "#28a745",
            "description" : "Success color",
            "example" : "#28a745"
          },
          "warning" : {
            "type" : "string",
            "default" : "#ffc107",
            "description" : "Warning color",
            "example" : "#ffc107"
          },
          "white" : {
            "type" : "string",
            "default" : "#ffffff",
            "description" : "White color",
            "example" : "#ffffff"
          }
        }
      },
      "ExtraCharge_Supplier" : {
        "type" : "object",
        "example" : {
          "price" : {
            "internalBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalChannelModifier" : -10,
            "internalPremiumModifier" : 40,
            "internalPromotionalModifier" : -40,
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "quantity" : 1,
            "sourceBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceChannelModifier" : -10,
            "sourcePremiumModifier" : 40,
            "sourcePromotionalModifier" : -40,
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyChannelModifier" : -10,
            "userSpecifiedCurrencyPremiumModifier" : 40,
            "userSpecifiedCurrencyPromotionalModifier" : -40,
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          },
          "ratePlanLevelFee" : {
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "This is a longer description in the specified language.",
              "language" : "en",
              "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
            } ],
            "fixedAmount" : 450.0,
            "type" : "PER_DAY"
          },
          "unitPrice" : {
            "internalBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "internalChannelModifier" : -10,
            "internalPremiumModifier" : 40,
            "internalPromotionalModifier" : -40,
            "internalTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "quantity" : 1,
            "sourceBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "sourceChannelModifier" : -10,
            "sourcePremiumModifier" : 40,
            "sourcePromotionalModifier" : -40,
            "sourceToInternalCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceToUserCurrencyQuote" : {
              "exchangeRate" : 33.5,
              "source" : "USD",
              "target" : "THB",
              "timestamp" : 1705233000000
            },
            "sourceTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyBaseTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSpecifiedCurrencyChannelModifier" : -10,
            "userSpecifiedCurrencyPremiumModifier" : 40,
            "userSpecifiedCurrencyPromotionalModifier" : -40,
            "userSpecifiedCurrencyTotal" : {
              "amount" : 1250.0,
              "currency" : "USD"
            }
          }
        },
        "properties" : {
          "price" : {
            "$ref" : "#/components/schemas/LocalizedPrice_Supplier",
            "description" : "The localized price of the extra charge"
          },
          "ratePlanLevelFee" : {
            "$ref" : "#/components/schemas/RatePlanLevelFee_Supplier",
            "description" : "What the guest is paying extra for"
          },
          "unitPrice" : {
            "$ref" : "#/components/schemas/LocalizedPrice_Supplier",
            "description" : "The localized unit price of the extra charge"
          }
        }
      },
      "ExtraCharges_Supplier" : {
        "type" : "object",
        "example" : {
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "items" : [ {
            "price" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "ratePlanLevelFee" : {
              "descriptions" : [ {
                "creator" : "USER",
                "description" : "This is a longer description in the specified language.",
                "language" : "en",
                "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
              } ],
              "fixedAmount" : 450.0,
              "type" : "PER_DAY"
            },
            "unitPrice" : {
              "internalBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "internalChannelModifier" : -10,
              "internalPremiumModifier" : 40,
              "internalPromotionalModifier" : -40,
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "quantity" : 1,
              "sourceBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "sourceChannelModifier" : -10,
              "sourcePremiumModifier" : 40,
              "sourcePromotionalModifier" : -40,
              "sourceToInternalCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceToUserCurrencyQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyBaseTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "userSpecifiedCurrencyChannelModifier" : -10,
              "userSpecifiedCurrencyPremiumModifier" : 40,
              "userSpecifiedCurrencyPromotionalModifier" : -40,
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            }
          } ],
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "items" : {
            "type" : "array",
            "description" : "List of extra charges that applies to the rate plan.",
            "items" : {
              "$ref" : "#/components/schemas/ExtraCharge_Supplier"
            },
            "title" : "Items"
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          }
        }
      },
      "Fee_Supplier" : {
        "type" : "object",
        "description" : "A fee associated with a booking transaction, such as an acquiring or tax fee",
        "example" : {
          "description" : "Fee charged for booking confirmation",
          "fee" : 450.0,
          "identifier" : "ABC1234",
          "type" : "BOOKING"
        },
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Withdrawal fee description",
            "example" : "Fee charged for booking confirmation",
            "minLength" : 1
          },
          "fee" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Fee amount",
            "example" : 450.0
          },
          "identifier" : {
            "type" : "string",
            "description" : "Unique system ID.",
            "example" : "ABC1234",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Type of fee",
            "enum" : [ "ACQUIRING", "FX", "TAX" ],
            "example" : "BOOKING"
          }
        },
        "required" : [ "description", "fee", "identifier", "type" ]
      },
      "FinancialBreakdown_Supplier" : {
        "type" : "object",
        "example" : {
          "beneficiaryList" : [ {
            "accountEmail" : "reservations@thesiamresidences.com",
            "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "accountName" : "The Siam Residences, Bangkok",
            "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
            "amountDue" : {
              "percent" : 0.05
            },
            "displayAmount" : 450.0,
            "displayAmountRefundModifier" : 45.0,
            "displayCurrency" : "USD",
            "internalAmount" : 450.0,
            "internalAmountRefundModifier" : 45.0,
            "internalCurrency" : "USD",
            "netDisplayAmount" : 450.0,
            "netInternalAmount" : 450.0,
            "netSourceAmount" : 450.0,
            "pendingRefunds" : [ {
              "displayAmountRefundModifier" : 45.0,
              "internalAmountRefundModifier" : 45.0,
              "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
              "sourceAmountRefundModifier" : 45.0
            } ],
            "reconciled" : false,
            "sourceAmount" : 450.0,
            "sourceAmountRefundModifier" : 45.0,
            "sourceCurrency" : "THB"
          } ],
          "displayPriceQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "internalPriceQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          }
        },
        "properties" : {
          "beneficiaryList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Beneficiary_Supplier"
            }
          },
          "commissionableTotalDisplayAmount" : {
            "type" : "number"
          },
          "commissionableTotalInternalAmount" : {
            "type" : "number"
          },
          "commissionableTotalSourceAmount" : {
            "type" : "number"
          },
          "displayAmount" : {
            "type" : "number"
          },
          "displayAmountRefundModifier" : {
            "type" : "number"
          },
          "displayCurrency" : {
            "type" : "string"
          },
          "displayPriceQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_Supplier"
          },
          "internalAmount" : {
            "type" : "number"
          },
          "internalAmountRefundModifier" : {
            "type" : "number"
          },
          "internalCurrency" : {
            "type" : "string"
          },
          "internalPriceQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_Supplier"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { }
          },
          "netCommissionableTotalDisplayAmount" : {
            "type" : "number"
          },
          "netCommissionableTotalInternalAmount" : {
            "type" : "number"
          },
          "netCommissionableTotalSourceAmount" : {
            "type" : "number"
          },
          "netDisplayAmount" : {
            "type" : "number"
          },
          "netInternalAmount" : {
            "type" : "number"
          },
          "netSourceAmount" : {
            "type" : "number"
          },
          "netTotalAffiliateAgencyFeesDisplayAmount" : {
            "type" : "number"
          },
          "netTotalAffiliateAgencyFeesInternalAmount" : {
            "type" : "number"
          },
          "netTotalAffiliateAgencyFeesSourceAmount" : {
            "type" : "number"
          },
          "netTotalCustomersDisplayAmount" : {
            "type" : "number"
          },
          "netTotalCustomersInternalAmount" : {
            "type" : "number"
          },
          "netTotalCustomersSourceAmount" : {
            "type" : "number"
          },
          "netTotalFeesAndCommissionsDisplayAmount" : {
            "type" : "number"
          },
          "netTotalFeesAndCommissionsInternalAmount" : {
            "type" : "number"
          },
          "netTotalFeesAndCommissionsSourceAmount" : {
            "type" : "number"
          },
          "netTotalFeesDisplayAmount" : {
            "type" : "number"
          },
          "netTotalFeesInternalAmount" : {
            "type" : "number"
          },
          "netTotalFeesSourceAmount" : {
            "type" : "number"
          },
          "netTotalPaymentProcessingFeeDisplayAmount" : {
            "type" : "number"
          },
          "netTotalPaymentProcessingFeeInternalAmount" : {
            "type" : "number"
          },
          "netTotalPaymentProcessingFeeSourceAmount" : {
            "type" : "number"
          },
          "netTotalPlatformFeeDisplayAmount" : {
            "type" : "number"
          },
          "netTotalPlatformFeeInternalAmount" : {
            "type" : "number"
          },
          "netTotalPlatformFeeSourceAmount" : {
            "type" : "number"
          },
          "netTotalSalesDisplayAmount" : {
            "type" : "number"
          },
          "netTotalSalesInternalAmount" : {
            "type" : "number"
          },
          "netTotalSalesSourceAmount" : {
            "type" : "number"
          },
          "netTotalSupplierAgencyFeesDisplayAmount" : {
            "type" : "number"
          },
          "netTotalSupplierAgencyFeesInternalAmount" : {
            "type" : "number"
          },
          "netTotalSupplierAgencyFeesSourceAmount" : {
            "type" : "number"
          },
          "sourceAmount" : {
            "type" : "number"
          },
          "sourceAmountRefundModifier" : {
            "type" : "number"
          },
          "sourceCurrency" : {
            "type" : "string"
          },
          "totalAffiliateAgencyFeesDisplayAmount" : {
            "type" : "number"
          },
          "totalAffiliateAgencyFeesInternalAmount" : {
            "type" : "number"
          },
          "totalAffiliateAgencyFeesSourceAmount" : {
            "type" : "number"
          },
          "totalFeesAndCommissionsDisplayAmount" : {
            "type" : "number"
          },
          "totalFeesAndCommissionsInternalAmount" : {
            "type" : "number"
          },
          "totalFeesAndCommissionsSourceAmount" : {
            "type" : "number"
          },
          "totalFeesDisplayAmount" : {
            "type" : "number"
          },
          "totalFeesInternalAmount" : {
            "type" : "number"
          },
          "totalFeesSourceAmount" : {
            "type" : "number"
          },
          "totalPaymentProcessingFeeDisplayAmount" : {
            "type" : "number"
          },
          "totalPaymentProcessingFeeInternalAmount" : {
            "type" : "number"
          },
          "totalPaymentProcessingFeeSourceAmount" : {
            "type" : "number"
          },
          "totalPlatformFeeDisplayAmount" : {
            "type" : "number"
          },
          "totalPlatformFeeInternalAmount" : {
            "type" : "number"
          },
          "totalPlatformFeeSourceAmount" : {
            "type" : "number"
          },
          "totalSalesDisplayAmount" : {
            "type" : "number"
          },
          "totalSalesInternalAmount" : {
            "type" : "number"
          },
          "totalSalesSourceAmount" : {
            "type" : "number"
          },
          "totalSupplierAgencyFeesDisplayAmount" : {
            "type" : "number"
          },
          "totalSupplierAgencyFeesInternalAmount" : {
            "type" : "number"
          },
          "totalSupplierAgencyFeesSourceAmount" : {
            "type" : "number"
          }
        }
      },
      "GuestUser_Supplier" : {
        "type" : "object",
        "description" : "Guest user associated with a booking, optionally linked to a Wink platform profile",
        "example" : {
          "email" : "reservations@thesiamresidences.com",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "lastName" : "Beaumont",
          "profile" : {
            "createdDate" : "2026-01-14T09:30:00",
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "personal" : {
              "address1" : "123 Petchburi Road",
              "address2" : "Ratchathewi District",
              "birthDate" : "1985-06-15",
              "childQuantity" : 2,
              "citizenship" : "Thailand",
              "city" : "Bangkok",
              "contactPerson" : [ {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              } ],
              "country" : "TH",
              "gender" : "FEMALE",
              "language" : "en",
              "maritalStatus" : "MARRIED",
              "petInfo" : [ {
                "name" : "Luna",
                "type" : "Golden Retriever"
              } ],
              "postalCode" : "10400",
              "preferredCurrency" : "USD",
              "state" : "Bangkok"
            },
            "preferences" : {
              "bedTypePref" : "King bed",
              "cuisinePref" : "Thai",
              "foodSrvcPref" : "In-room dining",
              "guestType" : "Business traveler",
              "hotelChainPref" : "Mandarin Oriental",
              "mealPref" : "Continental breakfast",
              "physChalFeaturePref" : "Wheelchair accessible rooms",
              "propertyLocationPref" : "Beachfront",
              "propertyTypePref" : "Luxury Resort",
              "roomLocationPref" : "High floor with city view",
              "smokingAllowed" : false
            },
            "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "share" : true,
            "user" : {
              "email" : "alexandra@beaumont.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phone" : "+66212658866",
              "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
            },
            "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "version" : 3
          },
          "telephone" : "+1 212 555 1212",
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Email",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name",
            "example" : "Alexandra",
            "minLength" : 1
          },
          "fullName" : {
            "type" : "string",
            "description" : "Full name",
            "example" : "Alexandra Beaumont",
            "readOnly" : true
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name",
            "example" : "Beaumont",
            "minLength" : 1
          },
          "profile" : {
            "$ref" : "#/components/schemas/ProfileLightweight_Supplier",
            "description" : "Optional profile record"
          },
          "telephone" : {
            "type" : "string",
            "description" : "Telephone",
            "example" : "+1 212 555 1212",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "User identifier",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
          }
        },
        "required" : [ "email", "firstName", "lastName" ]
      },
      "LocalizedPrice_Supplier" : {
        "type" : "object",
        "example" : {
          "internalBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "internalChannelModifier" : -10,
          "internalPremiumModifier" : 40,
          "internalPromotionalModifier" : -40,
          "internalTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "quantity" : 1,
          "sourceBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "sourceChannelModifier" : -10,
          "sourcePremiumModifier" : 40,
          "sourcePromotionalModifier" : -40,
          "sourceToInternalCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceToUserCurrencyQuote" : {
            "exchangeRate" : 33.5,
            "source" : "USD",
            "target" : "THB",
            "timestamp" : 1705233000000
          },
          "sourceTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyBaseTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "userSpecifiedCurrencyChannelModifier" : -10,
          "userSpecifiedCurrencyPremiumModifier" : 40,
          "userSpecifiedCurrencyPromotionalModifier" : -40,
          "userSpecifiedCurrencyTotal" : {
            "amount" : 1250.0,
            "currency" : "USD"
          }
        },
        "properties" : {
          "channelDiscountPercent" : {
            "type" : "number",
            "description" : "Channel discount percent"
          },
          "hasChannelDiscount" : {
            "type" : "boolean"
          },
          "hasPremium" : {
            "type" : "boolean"
          },
          "hasPromotion" : {
            "type" : "boolean"
          },
          "internalBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base total in wink currency."
          },
          "internalChannelModifier" : {
            "type" : "number",
            "description" : "Channel / Membership modifier in wink currency",
            "example" : -10
          },
          "internalPremiumModifier" : {
            "type" : "number",
            "description" : "Premium modifiers in wink currency",
            "example" : 40
          },
          "internalPromotionalModifier" : {
            "type" : "number",
            "description" : "Promotional modifiers in wink currency",
            "example" : -40
          },
          "internalTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "premiumPercent" : {
            "type" : "number",
            "description" : "Premium percent"
          },
          "promotionalDiscountPercent" : {
            "type" : "number",
            "description" : "Promotional discount percent"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 1,
            "description" : "How many of this item is included in this price"
          },
          "sourceBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base total in hotel currency."
          },
          "sourceChannelModifier" : {
            "type" : "number",
            "description" : "Channel / Membership modifier in hotel currency",
            "example" : -10
          },
          "sourcePremiumModifier" : {
            "type" : "number",
            "description" : "Premium modifiers in hotel currency",
            "example" : 40
          },
          "sourcePromotionalModifier" : {
            "type" : "number",
            "description" : "Promotional modifiers in hotel currency",
            "example" : -40
          },
          "sourceToInternalCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_Supplier",
            "description" : "Hotel to wink currency exchange rate."
          },
          "sourceToUserCurrencyQuote" : {
            "$ref" : "#/components/schemas/QuoteLightweight_Supplier",
            "description" : "Hotel to user currency exchange rate."
          },
          "sourceTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          },
          "totalDiscountPercent" : {
            "type" : "number"
          },
          "userSpecifiedCurrencyBaseTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Base total in user specified currency."
          },
          "userSpecifiedCurrencyChannelModifier" : {
            "type" : "number",
            "description" : "Channel / Membership modifier in user specified currency",
            "example" : -10
          },
          "userSpecifiedCurrencyPremiumModifier" : {
            "type" : "number",
            "description" : "Premium modifiers in user specified currency",
            "example" : 40
          },
          "userSpecifiedCurrencyPromotionalModifier" : {
            "type" : "number",
            "description" : "Promotional modifiers in user specified currency",
            "example" : -40
          },
          "userSpecifiedCurrencyTotal" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount"
          }
        },
        "required" : [ "internalBaseTotal", "sourceBaseTotal", "sourceToInternalCurrencyQuote", "sourceToUserCurrencyQuote", "userSpecifiedCurrencyBaseTotal" ]
      },
      "PageResponseBookingLightweight_Supplier" : {
        "type" : "object",
        "description" : "Owned pagination envelope: a page of content plus flat page metadata.",
        "example" : {
          "content" : [ {
            "acquiringFee" : {
              "internalAmount" : 450.0,
              "shareNotStated" : false,
              "sourceAmount" : 450.0,
              "state" : "CAPTURED"
            },
            "activities" : [ {
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "attendees" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "endDate" : "2017-12-22T08:07:58.742+0000",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "imageIdentifier" : "cloudinary-image-1",
              "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
              "localizedDescription" : "place-1",
              "localizedName" : "Plass 1",
              "name" : "Thai Massage Spa Treatment",
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "pricingType" : "PER_USE",
              "startDate" : "2017-12-22T03:07:58.742+0000",
              "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "type" : "ADD_ON",
              "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
            } ],
            "addOns" : [ {
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "attendees" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "endDate" : "2017-12-22T08:07:58.742+0000",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "imageIdentifier" : "cloudinary-image-1",
              "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
              "localizedDescription" : "place-1",
              "localizedName" : "Plass 1",
              "name" : "Thai Massage Spa Treatment",
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "pricingType" : "PER_USE",
              "startDate" : "2017-12-22T03:07:58.742+0000",
              "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "type" : "ADD_ON",
              "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
            } ],
            "ancillaryList" : [ {
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "attendees" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "endDate" : "2017-12-22T08:07:58.742+0000",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "imageIdentifier" : "cloudinary-image-1",
              "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
              "localizedDescription" : "place-1",
              "localizedName" : "Plass 1",
              "name" : "Thai Massage Spa Treatment",
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "pricingType" : "PER_USE",
              "startDate" : "2017-12-22T03:07:58.742+0000",
              "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "type" : "ADD_ON",
              "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
            } ],
            "attractions" : [ {
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "attendees" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "endDate" : "2017-12-22T08:07:58.742+0000",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "imageIdentifier" : "cloudinary-image-1",
              "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
              "localizedDescription" : "place-1",
              "localizedName" : "Plass 1",
              "name" : "Thai Massage Spa Treatment",
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "pricingType" : "PER_USE",
              "startDate" : "2017-12-22T03:07:58.742+0000",
              "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "type" : "ADD_ON",
              "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
            } ],
            "beneficiaryList" : [ {
              "accountEmail" : "reservations@thesiamresidences.com",
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "The Siam Residences, Bangkok",
              "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
              "amountDue" : {
                "percent" : 0.05
              },
              "displayAmount" : 450.0,
              "displayAmountRefundModifier" : 45.0,
              "displayCurrency" : "USD",
              "internalAmount" : 450.0,
              "internalAmountRefundModifier" : 45.0,
              "internalCurrency" : "USD",
              "netDisplayAmount" : 450.0,
              "netInternalAmount" : 450.0,
              "netSourceAmount" : 450.0,
              "pendingRefunds" : [ {
                "displayAmountRefundModifier" : 45.0,
                "internalAmountRefundModifier" : 45.0,
                "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                "sourceAmountRefundModifier" : 45.0
              } ],
              "reconciled" : false,
              "sourceAmount" : 450.0,
              "sourceAmountRefundModifier" : 45.0,
              "sourceCurrency" : "THB"
            } ],
            "booker" : {
              "email" : "reservations@thesiamresidences.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "telephone" : "+1 212 555 1212",
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
            },
            "cancellation" : {
              "cancelReason" : "Guest changed travel plans",
              "cancellationType" : "FREE_CANCELLATION",
              "cancelledOn" : "2026-01-15T10:30:00Z",
              "cancellerType" : "TRAVELER",
              "cancellerUserIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
              "groupRefundNotified" : false
            },
            "commissionableSourceAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "createdDate" : "2026-01-14T09:30:00",
            "customization" : {
              "appendToPageTitle" : "Hotels with Benefits",
              "cardDesign" : "DEFAULT",
              "cardLayout" : "VERTICAL",
              "city" : {
                "admin1Code" : "40",
                "admin2Code" : "2401",
                "admin3Code" : "",
                "admin4Code" : "",
                "alternateCountryCodes" : [ ],
                "alternateNames" : [ "Krung Thep", "BKK" ],
                "asciiName" : "Bangkok",
                "country" : {
                  "area" : 514000.0,
                  "capital" : "Bangkok",
                  "continent" : "AS",
                  "currencyCode" : "THB",
                  "currencyName" : "Baht",
                  "fips" : "TH",
                  "geoNameId" : "1605651",
                  "iso" : "TH",
                  "iso3" : "THA",
                  "isoNumeric" : 764,
                  "languages" : [ "th" ],
                  "name" : "Thailand",
                  "neighbors" : [ "LA", "MM", "KH", "MY" ],
                  "phone" : "66",
                  "population" : 69428524,
                  "postalCodeFormat" : "#####",
                  "postalCodeRegEx" : "^(\\d{5})$",
                  "topLevelDomain" : ".th"
                },
                "countryCode" : "TH",
                "digitalElevationModel" : "3",
                "elevation" : 5,
                "featureClass" : "P",
                "featureCode" : "PPLC",
                "geoNameId" : "1609350",
                "location" : {
                  "coordinates" : [ 100.5581533, 13.7370197 ],
                  "type" : "POINT"
                },
                "modificationDate" : "2023-06-15",
                "name" : "Bangkok",
                "population" : 10539415,
                "radiusInMeters" : 50000,
                "subCountry" : {
                  "asciiName" : "Bangkok",
                  "code" : "TH.40",
                  "countryCode" : "TH",
                  "geoNameId" : "1609350",
                  "name" : "Bangkok",
                  "subCountryCode" : "40"
                },
                "subSubCountry" : {
                  "asciiName" : "Bangkok District",
                  "code" : "TH.40.2401",
                  "countryCode" : "TH",
                  "geoNameId" : "1609352",
                  "name" : "Bangkok District",
                  "subCountryCode" : "40",
                  "subSubCountryCode" : "2401"
                },
                "timezone" : "Asia/Bangkok",
                "type" : "CITY",
                "urlName" : "bangkok-thailand"
              },
              "createdDate" : "2026-01-14T09:30:00",
              "defaultCurrency" : "THB",
              "defaultLanguage" : "en",
              "defaultLifestyle" : "LIFESTYLE_HEALTH_FITNESS",
              "endDate" : "2026-07-22",
              "googleAnalyticsMeasurementId" : "G-ABCDEF1234",
              "googleMapsAPIKey" : "AIzaSyC5H2f7Vf6-6b2dZWfZf6-6b2dZWfZf6-6",
              "googleTagManagerContainerId" : "GTM-XXXXX",
              "hostedBookingEngineUrl" : "https://book.thesiamresidences.com/reservations",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "lastUpdate" : "2026-02-03T16:45:12",
              "layout" : "INFORMATIONAL",
              "logos" : [ {
                "angle" : null,
                "attribution" : [ ],
                "category" : "2",
                "descriptions" : [ {
                  "description" : "Elegant lobby of The Siam Residences",
                  "language" : "en",
                  "title" : "Lobby Entrance"
                } ],
                "height" : 1600,
                "identifier" : "the-siam-residences/lobby-entrance",
                "isLandscape" : true,
                "lifestyleType" : null,
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "source" : "CLOUDINARY",
                "type" : "IMAGE",
                "width" : 2560
              } ],
              "name" : "Luxury Travel Portal",
              "numberOfAdvanceDays" : 7,
              "numberOfStayDays" : 3,
              "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "ownerName" : "Premium Hotels International",
              "primary" : true,
              "roomConfiguration" : {
                "adults" : 2,
                "children" : [ {
                  "age" : 7,
                  "quantity" : 2
                } ],
                "quantity" : 2
              },
              "selfHosted" : true,
              "sendBookingNotificationEmailsToBooker" : true,
              "sendBookingNotificationEmailsToChannelManager" : true,
              "sendBookingNotificationEmailsToProperty" : true,
              "showRankings" : true,
              "showSearch" : true,
              "showUnavailableCard" : false,
              "startDate" : "2026-07-15",
              "subType" : "APPLICATION",
              "themeColors" : {
                "body" : "#212529",
                "danger" : "#dc3545",
                "dark" : "#343a40",
                "info" : "#17a2b8",
                "light" : "#f8f9fa",
                "muted" : "#6c757d",
                "primary" : "#dc3545",
                "secondary" : "#6c757d",
                "success" : "#28a745",
                "warning" : "#ffc107",
                "white" : "#ffffff"
              },
              "trackingPixels" : [ {
                "accessToken" : "EAABsbCS0kB4BAAI...",
                "consentCategory" : "MARKETING",
                "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
                "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
                "enabled" : true,
                "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
                "name" : "Facebook Conversion Pixel",
                "pixelId" : "1234567890",
                "provider" : "FACEBOOK",
                "triggers" : [ {
                  "eventType" : "PURCHASE",
                  "parameters" : [ {
                    "key" : "currency",
                    "value" : "USD"
                  } ]
                } ],
                "type" : "JAVASCRIPT"
              } ],
              "useDays" : true,
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
              "version" : 3,
              "wcBookClickAction" : "IBE_MODAL"
            },
            "earlyCheckInCharge" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "feeModel" : "FIXED_PROCESSING_FEE",
            "financialBreakdown" : {
              "beneficiaryList" : [ {
                "accountEmail" : "reservations@thesiamresidences.com",
                "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                "accountName" : "The Siam Residences, Bangkok",
                "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                "amountDue" : {
                  "percent" : 0.05
                },
                "displayAmount" : 450.0,
                "displayAmountRefundModifier" : 45.0,
                "displayCurrency" : "USD",
                "internalAmount" : 450.0,
                "internalAmountRefundModifier" : 45.0,
                "internalCurrency" : "USD",
                "netDisplayAmount" : 450.0,
                "netInternalAmount" : 450.0,
                "netSourceAmount" : 450.0,
                "pendingRefunds" : [ {
                  "displayAmountRefundModifier" : 45.0,
                  "internalAmountRefundModifier" : 45.0,
                  "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                  "sourceAmountRefundModifier" : 45.0
                } ],
                "reconciled" : false,
                "sourceAmount" : 450.0,
                "sourceAmountRefundModifier" : 45.0,
                "sourceCurrency" : "THB"
              } ],
              "displayPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              },
              "internalPriceQuote" : {
                "exchangeRate" : 33.5,
                "source" : "USD",
                "target" : "THB",
                "timestamp" : 1705233000000
              }
            },
            "fundsAddedToLedger" : false,
            "fundsProcessed" : false,
            "guestUser" : {
              "email" : "reservations@thesiamresidences.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "profile" : {
                "createdDate" : "2026-01-14T09:30:00",
                "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "lastUpdate" : "2026-02-03T16:45:12",
                "personal" : {
                  "address1" : "123 Petchburi Road",
                  "address2" : "Ratchathewi District",
                  "birthDate" : "1985-06-15",
                  "childQuantity" : 2,
                  "citizenship" : "Thailand",
                  "city" : "Bangkok",
                  "contactPerson" : [ {
                    "email" : "johnsmith@email.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phoneNumber" : "+12125551212",
                    "secondaryEmail" : "johnsmith2@email.com",
                    "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                  } ],
                  "country" : "TH",
                  "gender" : "FEMALE",
                  "language" : "en",
                  "maritalStatus" : "MARRIED",
                  "petInfo" : [ {
                    "name" : "Luna",
                    "type" : "Golden Retriever"
                  } ],
                  "postalCode" : "10400",
                  "preferredCurrency" : "USD",
                  "state" : "Bangkok"
                },
                "preferences" : {
                  "bedTypePref" : "King bed",
                  "cuisinePref" : "Thai",
                  "foodSrvcPref" : "In-room dining",
                  "guestType" : "Business traveler",
                  "hotelChainPref" : "Mandarin Oriental",
                  "mealPref" : "Continental breakfast",
                  "physChalFeaturePref" : "Wheelchair accessible rooms",
                  "propertyLocationPref" : "Beachfront",
                  "propertyTypePref" : "Luxury Resort",
                  "roomLocationPref" : "High floor with city view",
                  "smokingAllowed" : false
                },
                "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "share" : true,
                "user" : {
                  "email" : "alexandra@beaumont.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phone" : "+66212658866",
                  "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                },
                "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                "version" : 3
              },
              "telephone" : "+1 212 555 1212",
              "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
            },
            "hotel" : {
              "activities" : 3,
              "addOns" : 5,
              "address" : {
                "city" : "Bangkok",
                "countryCode" : "TH",
                "line1" : "3/2 Khao Road",
                "postalCode" : "10300",
                "state" : "Bangkok"
              },
              "aggregateGreendexRating" : 7.0,
              "aggregateReviewRating" : 8.7,
              "architecturalStyle" : "7",
              "attractions" : 5,
              "available" : true,
              "bookings" : 6054,
              "brand" : "The Siam Residences",
              "chain" : "The Siam Collection",
              "currencyCode" : "THB",
              "descriptions" : [ {
                "description" : "An elegant riverside sanctuary in the heart of Bangkok.",
                "language" : "en",
                "title" : "Luxury Riverside Retreat"
              } ],
              "hotelAmenityCodes" : [ "1", "7" ],
              "hotelCategory" : "45",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "images" : [ {
                "identifier" : "the-siam-residences/lobby-entrance",
                "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                "published" : true,
                "sort" : 10,
                "type" : "IMAGE"
              } ],
              "lifestyleTypes" : [ "LIFESTYLE_HEALTH_FITNESS" ],
              "localName" : "เดอะสยาม เรสซิเดนซ์",
              "location" : {
                "coordinates" : [ 100.5581533, 13.7370197 ],
                "type" : "Point"
              },
              "locationCategory" : "34",
              "meetingRooms" : 2,
              "name" : "The Siam Residences, Bangkok",
              "numberOfRooms" : 32,
              "places" : 9,
              "propertyAccessibilityCodes" : [ "1" ],
              "propertySecurityCodes" : [ "7" ],
              "reservations" : {
                "email" : "reservations@thesiamresidences.com",
                "firstName" : "Somchai",
                "lastName" : "Phattanapong",
                "phone" : "+66-2-123-4567"
              },
              "restaurants" : 2,
              "score" : 70,
              "segmentCategory" : "7",
              "socials" : [ {
                "handle" : "thesiamresidences",
                "platform" : "INSTAGRAM"
              } ],
              "spas" : 1,
              "starRating" : 5,
              "thirdPartyReviews" : [ ],
              "totalReviews" : 989,
              "uniqueId" : "siam-residences-bkk",
              "urlName" : "the-siam-residences-bangkok-thailand",
              "videos" : [ ],
              "whenBuilt" : "1927"
            },
            "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "lastUpdate" : "2026-02-03T16:45:12",
            "lateCheckOutCharge" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "meetingRooms" : [ {
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "attendees" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "endDate" : "2017-12-22T08:07:58.742+0000",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "imageIdentifier" : "cloudinary-image-1",
              "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
              "localizedDescription" : "place-1",
              "localizedName" : "Plass 1",
              "name" : "Thai Massage Spa Treatment",
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "pricingType" : "PER_USE",
              "startDate" : "2017-12-22T03:07:58.742+0000",
              "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "type" : "ADD_ON",
              "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
            } ],
            "netTotalFeesAndCommissionsSourceAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "netTotalSalesSourceAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "netTotalSalesSourceAmountOrZero" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "paymentDetails" : {
              "acquiringFeeCapture" : {
                "apportionedAcross" : 3,
                "balanceTransactionIdentifier" : "txn_abc123",
                "capturedDate" : "2026-09-11T03:07:58.742",
                "chargeFee" : 450.0,
                "chargeIdentifier" : "ch_abc123",
                "source" : "WEBHOOK"
              },
              "acquiringFeeState" : "CAPTURED",
              "agentInvoiceIdentifier" : "invoice-1",
              "agentInvoicedDate" : "2017-12-22T03:07:58.742+0000",
              "chargeIdentifier" : "ch_abc123",
              "customerIdentifier" : "cus_abc123",
              "fees" : [ {
                "description" : "Fee charged for booking confirmation",
                "fee" : 450.0,
                "identifier" : "ABC1234",
                "type" : "BOOKING"
              } ],
              "selfAcquires" : false,
              "selfDisburses" : false,
              "sessionIdentifier" : "s_abc123",
              "transactionIdentifier" : "pi_3abc123",
              "vendor" : "STRIPE"
            },
            "payoutList" : [ {
              "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
              "accountName" : "Hotel Sunrise",
              "beneficiaryType" : "SALE",
              "displayAmount" : 12.75,
              "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "internalAmount" : 12.75,
              "processedDate" : "2026-01-15T10:30:00Z",
              "sourceAmount" : 450.0,
              "status" : "COMPLETED",
              "withdrawalId" : "tr_abc123"
            } ],
            "places" : [ {
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "attendees" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "endDate" : "2017-12-22T08:07:58.742+0000",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "imageIdentifier" : "cloudinary-image-1",
              "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
              "localizedDescription" : "place-1",
              "localizedName" : "Plass 1",
              "name" : "Thai Massage Spa Treatment",
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "pricingType" : "PER_USE",
              "startDate" : "2017-12-22T03:07:58.742+0000",
              "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "type" : "ADD_ON",
              "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
            } ],
            "refund" : {
              "cancelOnRefund" : "NONE",
              "createdDate" : "2026-01-15T10:30:00Z",
              "description" : "Guest requested cancellation",
              "displayAmount" : 12.75,
              "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "internalAmount" : 12.75,
              "processedDate" : "2026-01-15T10:30:00Z",
              "reason" : "REQUESTED_BY_CUSTOMER",
              "receiptUrl" : "https://pay.stripe.com/receipts/abc123",
              "requestor" : "BY_ADMIN",
              "response" : "Approved — refunding 50% per policy.",
              "sourceAmount" : 450.0,
              "status" : "SUCCEEDED",
              "stripeRefundFee" : 0.5,
              "stripeRefundId" : "re_abc123"
            },
            "refundFee" : {
              "internalAmount" : 450.0,
              "shareNotStated" : false,
              "sourceAmount" : 450.0,
              "state" : "CAPTURED"
            },
            "reportingAncillaryList" : [ {
              "currency" : "USD",
              "grossAmount" : 450.0,
              "name" : "Thai Massage",
              "netAmount" : 405.0,
              "netAmountWithRefund" : 405.0
            } ],
            "reportingDailyRateList" : [ {
              "baseAmount" : 450.0,
              "currency" : "USD",
              "date" : "2026-01-15",
              "grossAmount" : 405.0,
              "netAmount" : 360.0,
              "netAmountWithRefund" : 360.0
            } ],
            "reportingExtraChargeList" : [ {
              "currency" : "USD",
              "description" : "The charge is 50.00 USD and is charged per day.",
              "grossAmount" : 450.0,
              "name" : "Late checkout fee",
              "netAmount" : 405.0,
              "netAmountWithRefund" : 405.0
            } ],
            "restaurants" : [ {
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "attendees" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "endDate" : "2017-12-22T08:07:58.742+0000",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "imageIdentifier" : "cloudinary-image-1",
              "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
              "localizedDescription" : "place-1",
              "localizedName" : "Plass 1",
              "name" : "Thai Massage Spa Treatment",
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "pricingType" : "PER_USE",
              "startDate" : "2017-12-22T03:07:58.742+0000",
              "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "type" : "ADD_ON",
              "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
            } ],
            "review" : {
              "answers" : [ {
                "category" : "SERVICE",
                "questionIdentifier" : "4d7c2a6b-9e3f-4b1a-8d0c-7f5e1a9b3c62",
                "sort" : 1,
                "value" : 7
              } ],
              "approvedImage" : false,
              "approvedText" : true,
              "averageScore" : 8.7,
              "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
              "createdDate" : "2026-01-14T09:30:00",
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
              "imageIdentifier" : "wink/review/siam-residences-2026-01-14-xyz123abc",
              "lastUpdate" : "2026-02-03T16:45:12",
              "messageFromGuest" : "Dear GM, I would like to say thank you so much for taking the time to show my husband and me around the premises and the secret cave behind the property.",
              "responded" : false,
              "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
              "reviewDate" : "2026-01-14T09:30:00",
              "roomNumber" : "501",
              "roomRating" : 9,
              "text" : "Our stay was amazing! The staff made us feel truly welcomed, and the traditional Thai breakfast was exceptional. Can recommend highly to all. Felt like home.",
              "user" : {
                "email" : "reservations@thesiamresidences.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "telephone" : "+66 2 126 8866",
                "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
              },
              "version" : 3
            },
            "roomStay" : {
              "activeCancellationPolicy" : {
                "advanceCancellationFreeOfCharge" : "UNTIL_EIGHTEEN_HUNDRED_HOURS_ON_DAY_OF_ARRIVAL",
                "createdDate" : "2026-01-14T09:30:00",
                "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "lastUpdate" : "2026-02-03T16:45:12",
                "noShowCharge" : "SAME_AS_CANCELLATION_FEE",
                "nonRefundableAfterDeadlineCancellationCharge" : "ONE_HUNDRED_PERCENT",
                "nonRefundableCancellationCharge" : "SEVENTY_PERCENT",
                "nonRefundableDeadline" : "SEVEN_DAYS_BEFORE_ARRIVAL",
                "refundable" : false,
                "refundableCancellationCharge" : "FIFTY_PERCENT",
                "version" : 3
              },
              "adults" : 2,
              "ancillaryList" : [ {
                "address" : {
                  "address1" : "234 Near da beach",
                  "address2" : "Pebble #5001",
                  "city" : "Bangkok",
                  "country" : "United States",
                  "countryCode" : "TH",
                  "county" : "Alameda county",
                  "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                  "postalCode" : "90210",
                  "state" : "CA"
                },
                "attendees" : 2,
                "contact" : {
                  "email" : "johnsmith@email.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phoneNumber" : "+12125551212",
                  "secondaryEmail" : "johnsmith2@email.com",
                  "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                },
                "endDate" : "2017-12-22T08:07:58.742+0000",
                "financialBreakdown" : {
                  "beneficiaryList" : [ {
                    "accountEmail" : "reservations@thesiamresidences.com",
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "The Siam Residences, Bangkok",
                    "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                    "amountDue" : {
                      "percent" : 0.05
                    },
                    "displayAmount" : 450.0,
                    "displayAmountRefundModifier" : 45.0,
                    "displayCurrency" : "USD",
                    "internalAmount" : 450.0,
                    "internalAmountRefundModifier" : 45.0,
                    "internalCurrency" : "USD",
                    "netDisplayAmount" : 450.0,
                    "netInternalAmount" : 450.0,
                    "netSourceAmount" : 450.0,
                    "pendingRefunds" : [ {
                      "displayAmountRefundModifier" : 45.0,
                      "internalAmountRefundModifier" : 45.0,
                      "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                      "sourceAmountRefundModifier" : 45.0
                    } ],
                    "reconciled" : false,
                    "sourceAmount" : 450.0,
                    "sourceAmountRefundModifier" : 45.0,
                    "sourceCurrency" : "THB"
                  } ],
                  "displayPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "internalPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  }
                },
                "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                "imageIdentifier" : "cloudinary-image-1",
                "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
                "localizedDescription" : "place-1",
                "localizedName" : "Plass 1",
                "name" : "Thai Massage Spa Treatment",
                "price" : {
                  "internalBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "internalChannelModifier" : -10,
                  "internalPremiumModifier" : 40,
                  "internalPromotionalModifier" : -40,
                  "internalTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "quantity" : 1,
                  "sourceBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "sourceChannelModifier" : -10,
                  "sourcePremiumModifier" : 40,
                  "sourcePromotionalModifier" : -40,
                  "sourceToInternalCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceToUserCurrencyQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "sourceTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyBaseTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "userSpecifiedCurrencyChannelModifier" : -10,
                  "userSpecifiedCurrencyPremiumModifier" : 40,
                  "userSpecifiedCurrencyPromotionalModifier" : -40,
                  "userSpecifiedCurrencyTotal" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  }
                },
                "pricingType" : "PER_USE",
                "startDate" : "2017-12-22T03:07:58.742+0000",
                "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
                "type" : "ADD_ON",
                "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
              } ],
              "bedroomConfiguration" : {
                "bedroomList" : [ {
                  "bedList" : [ {
                    "bedTypeCode" : "1",
                    "quantity" : 2
                  } ],
                  "type" : "MASTER"
                } ],
                "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "name" : "Master Suite Layout"
              },
              "children" : 0,
              "endDate" : "2025-12-27",
              "extraCharges" : {
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "items" : [ {
                  "price" : {
                    "internalBaseTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "internalChannelModifier" : -10,
                    "internalPremiumModifier" : 40,
                    "internalPromotionalModifier" : -40,
                    "internalTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "quantity" : 1,
                    "sourceBaseTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "sourceChannelModifier" : -10,
                    "sourcePremiumModifier" : 40,
                    "sourcePromotionalModifier" : -40,
                    "sourceToInternalCurrencyQuote" : {
                      "exchangeRate" : 33.5,
                      "source" : "USD",
                      "target" : "THB",
                      "timestamp" : 1705233000000
                    },
                    "sourceToUserCurrencyQuote" : {
                      "exchangeRate" : 33.5,
                      "source" : "USD",
                      "target" : "THB",
                      "timestamp" : 1705233000000
                    },
                    "sourceTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "userSpecifiedCurrencyBaseTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "userSpecifiedCurrencyChannelModifier" : -10,
                    "userSpecifiedCurrencyPremiumModifier" : 40,
                    "userSpecifiedCurrencyPromotionalModifier" : -40,
                    "userSpecifiedCurrencyTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    }
                  },
                  "ratePlanLevelFee" : {
                    "descriptions" : [ {
                      "creator" : "USER",
                      "description" : "This is a longer description in the specified language.",
                      "language" : "en",
                      "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                    } ],
                    "fixedAmount" : 450.0,
                    "type" : "PER_DAY"
                  },
                  "unitPrice" : {
                    "internalBaseTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "internalChannelModifier" : -10,
                    "internalPremiumModifier" : 40,
                    "internalPromotionalModifier" : -40,
                    "internalTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "quantity" : 1,
                    "sourceBaseTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "sourceChannelModifier" : -10,
                    "sourcePremiumModifier" : 40,
                    "sourcePromotionalModifier" : -40,
                    "sourceToInternalCurrencyQuote" : {
                      "exchangeRate" : 33.5,
                      "source" : "USD",
                      "target" : "THB",
                      "timestamp" : 1705233000000
                    },
                    "sourceToUserCurrencyQuote" : {
                      "exchangeRate" : 33.5,
                      "source" : "USD",
                      "target" : "THB",
                      "timestamp" : 1705233000000
                    },
                    "sourceTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "userSpecifiedCurrencyBaseTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    },
                    "userSpecifiedCurrencyChannelModifier" : -10,
                    "userSpecifiedCurrencyPremiumModifier" : 40,
                    "userSpecifiedCurrencyPromotionalModifier" : -40,
                    "userSpecifiedCurrencyTotal" : {
                      "amount" : 1250.0,
                      "currency" : "USD"
                    }
                  }
                } ],
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "guestUser" : {
                "email" : "reservations@thesiamresidences.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "profile" : {
                  "createdDate" : "2026-01-14T09:30:00",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "personal" : {
                    "address1" : "123 Petchburi Road",
                    "address2" : "Ratchathewi District",
                    "birthDate" : "1985-06-15",
                    "childQuantity" : 2,
                    "citizenship" : "Thailand",
                    "city" : "Bangkok",
                    "contactPerson" : [ {
                      "email" : "johnsmith@email.com",
                      "firstName" : "Alexandra",
                      "fullName" : "Alexandra Beaumont",
                      "lastName" : "Beaumont",
                      "phoneNumber" : "+12125551212",
                      "secondaryEmail" : "johnsmith2@email.com",
                      "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                    } ],
                    "country" : "TH",
                    "gender" : "FEMALE",
                    "language" : "en",
                    "maritalStatus" : "MARRIED",
                    "petInfo" : [ {
                      "name" : "Luna",
                      "type" : "Golden Retriever"
                    } ],
                    "postalCode" : "10400",
                    "preferredCurrency" : "USD",
                    "state" : "Bangkok"
                  },
                  "preferences" : {
                    "bedTypePref" : "King bed",
                    "cuisinePref" : "Thai",
                    "foodSrvcPref" : "In-room dining",
                    "guestType" : "Business traveler",
                    "hotelChainPref" : "Mandarin Oriental",
                    "mealPref" : "Continental breakfast",
                    "physChalFeaturePref" : "Wheelchair accessible rooms",
                    "propertyLocationPref" : "Beachfront",
                    "propertyTypePref" : "Luxury Resort",
                    "roomLocationPref" : "High floor with city view",
                    "smokingAllowed" : false
                  },
                  "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "share" : true,
                  "user" : {
                    "email" : "alexandra@beaumont.com",
                    "firstName" : "Alexandra",
                    "fullName" : "Alexandra Beaumont",
                    "lastName" : "Beaumont",
                    "phone" : "+66212658866",
                    "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
                  },
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                  "version" : 3
                },
                "telephone" : "+1 212 555 1212",
                "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
              },
              "internalTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "perkTypes" : [ "PERK_FREE_DRINK_VOUCHER", "PERK_EARLY_CHECKIN" ],
              "price" : {
                "financialBreakdown" : {
                  "beneficiaryList" : [ {
                    "accountEmail" : "reservations@thesiamresidences.com",
                    "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                    "accountName" : "The Siam Residences, Bangkok",
                    "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                    "amountDue" : {
                      "percent" : 0.05
                    },
                    "displayAmount" : 450.0,
                    "displayAmountRefundModifier" : 45.0,
                    "displayCurrency" : "USD",
                    "internalAmount" : 450.0,
                    "internalAmountRefundModifier" : 45.0,
                    "internalCurrency" : "USD",
                    "netDisplayAmount" : 450.0,
                    "netInternalAmount" : 450.0,
                    "netSourceAmount" : 450.0,
                    "pendingRefunds" : [ {
                      "displayAmountRefundModifier" : 45.0,
                      "internalAmountRefundModifier" : 45.0,
                      "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                      "sourceAmountRefundModifier" : 45.0
                    } ],
                    "reconciled" : false,
                    "sourceAmount" : 450.0,
                    "sourceAmountRefundModifier" : 45.0,
                    "sourceCurrency" : "THB"
                  } ],
                  "displayPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  },
                  "internalPriceQuote" : {
                    "exchangeRate" : 33.5,
                    "source" : "USD",
                    "target" : "THB",
                    "timestamp" : 1705233000000
                  }
                },
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "offerDetails" : [ {
                  "creator" : "USER",
                  "description" : "This is a longer description in the specified language.",
                  "language" : "en",
                  "md5ContentHash" : "d41d8cd98f00b204e9800998ecf8427e"
                } ],
                "quantity" : 2,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "quantity" : 1,
              "ratePlan" : {
                "allInclusive" : false,
                "allInclusivePlusAlcohol" : false,
                "breakfast" : false,
                "brunch" : false,
                "dinner" : false,
                "earlyCheckInCharge" : {
                  "fixedAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "percent" : 0.25,
                  "type" : "PERCENTAGE"
                },
                "lateCheckOutCharge" : {
                  "fixedAmount" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "percent" : 0.25,
                  "type" : "PERCENTAGE"
                },
                "lunch" : false,
                "name" : "BAR 1"
              },
              "room" : {
                "active" : true,
                "address" : {
                  "address1" : "234 Near da beach",
                  "address2" : "Pebble #5001",
                  "city" : "Bangkok",
                  "country" : "United States",
                  "countryCode" : "TH",
                  "county" : "Alameda county",
                  "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                  "postalCode" : "90210",
                  "state" : "CA"
                },
                "baseRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "bathroomCount" : 0,
                "bedroomConfigurationList" : [ {
                  "bedroomList" : [ {
                    "bedList" : [ {
                      "bedTypeCode" : "1",
                      "quantity" : 2
                    } ],
                    "type" : "MASTER"
                  } ],
                  "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "name" : "Master Suite Layout"
                } ],
                "bookable" : true,
                "commissionable" : true,
                "composite" : false,
                "compositeCount" : 2,
                "contact" : {
                  "email" : "johnsmith@email.com",
                  "firstName" : "Alexandra",
                  "fullName" : "Alexandra Beaumont",
                  "lastName" : "Beaumont",
                  "phoneNumber" : "+12125551212",
                  "secondaryEmail" : "johnsmith2@email.com",
                  "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
                },
                "createdDate" : "2026-01-14T09:30:00",
                "descriptions" : [ {
                  "creator" : "USER",
                  "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                  "language" : "en",
                  "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                  "name" : "Deluxe River View Suite"
                } ],
                "featuredInd" : false,
                "floor" : "3",
                "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
                "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                "includedAdultOccupancy" : 2,
                "includedChildOccupancy" : 0,
                "lastUpdate" : "2026-02-03T16:45:12",
                "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
                "livingRoomCount" : 0,
                "location" : {
                  "coordinates" : [ 100.5581533, 13.7370197 ],
                  "type" : "POINT"
                },
                "maxAdultOccupancy" : 1,
                "maxChildOccupancy" : 0,
                "maxCribs" : 1,
                "maxOccupancy" : 2,
                "maxRollaways" : 0,
                "minAgeAppropriateCode" : "1",
                "minOccupancy" : 1,
                "minRate" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "multimedias" : [ {
                  "angle" : null,
                  "attribution" : [ ],
                  "category" : "2",
                  "descriptions" : [ {
                    "description" : "Elegant lobby of The Siam Residences",
                    "language" : "en",
                    "title" : "Lobby Entrance"
                  } ],
                  "height" : 1600,
                  "identifier" : "the-siam-residences/lobby-entrance",
                  "isLandscape" : true,
                  "lifestyleType" : null,
                  "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "published" : true,
                  "sort" : 10,
                  "source" : "CLOUDINARY",
                  "type" : "IMAGE",
                  "width" : 2560
                } ],
                "name" : "Archery lesson",
                "nonSmoking" : true,
                "pricePoint" : "THREE",
                "proximityCode" : "1",
                "publishStatus" : "PUBLISHED",
                "quantity" : 40,
                "recognitionList" : [ {
                  "category" : "AWARD",
                  "date" : "2026-01-14",
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "maxRating" : 10.0,
                  "officialAppointmentInd" : true,
                  "provider" : "Michelin",
                  "rating" : 8.5,
                  "ratingSymbol" : "*",
                  "type" : "PERCENT_RATING"
                } ],
                "roomArchitectureCode" : "1",
                "roomCategory" : "1",
                "roomClassificationCode" : "1",
                "roomGender" : "Female",
                "roomLocationCode" : "1",
                "roomViewCode" : "1",
                "sharedRoomInd" : false,
                "size" : 55,
                "socials" : [ {
                  "location" : "https://www.instagram.com/thesiamresidences",
                  "type" : "INSTAGRAM"
                } ],
                "sort" : 1,
                "transactionalInventoryList" : [ {
                  "basePrice" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "descriptions" : [ {
                    "creator" : "USER",
                    "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
                    "language" : "en",
                    "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
                    "name" : "Deluxe River View Suite"
                  } ],
                  "discountedPrice" : {
                    "amount" : 1250.0,
                    "currency" : "USD"
                  },
                  "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                  "maxPax" : 10,
                  "minPax" : 2,
                  "multimedias" : [ {
                    "angle" : null,
                    "attribution" : [ ],
                    "category" : "2",
                    "descriptions" : [ {
                      "description" : "Elegant lobby of The Siam Residences",
                      "language" : "en",
                      "title" : "Lobby Entrance"
                    } ],
                    "height" : 1600,
                    "identifier" : "the-siam-residences/lobby-entrance",
                    "isLandscape" : true,
                    "lifestyleType" : null,
                    "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
                    "published" : true,
                    "sort" : 10,
                    "source" : "CLOUDINARY",
                    "type" : "IMAGE",
                    "width" : 2560
                  } ],
                  "name" : "1 hour session",
                  "percentDiscount" : 0.1,
                  "percentPremium" : 0.1,
                  "pricingType" : "PER_NIGHT"
                } ],
                "version" : 3
              },
              "roomImageUrl" : "https://path.to/room-image.jpg",
              "roomRateIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
              "roomRateInternalName" : "Master Rate 1",
              "sourceTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              },
              "startDate" : "2025-12-24",
              "userSpecifiedCurrencyTotal" : {
                "amount" : 1250.0,
                "currency" : "USD"
              }
            },
            "roomTypeAncillaries" : [ {
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "attendees" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "endDate" : "2017-12-22T08:07:58.742+0000",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "imageIdentifier" : "cloudinary-image-1",
              "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
              "localizedDescription" : "place-1",
              "localizedName" : "Plass 1",
              "name" : "Thai Massage Spa Treatment",
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "pricingType" : "PER_USE",
              "startDate" : "2017-12-22T03:07:58.742+0000",
              "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "type" : "ADD_ON",
              "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
            } ],
            "socials" : [ {
              "location" : "https://www.instagram.com/thesiamresidences",
              "type" : "INSTAGRAM"
            } ],
            "spas" : [ {
              "address" : {
                "address1" : "234 Near da beach",
                "address2" : "Pebble #5001",
                "city" : "Bangkok",
                "country" : "United States",
                "countryCode" : "TH",
                "county" : "Alameda county",
                "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
                "postalCode" : "90210",
                "state" : "CA"
              },
              "attendees" : 2,
              "contact" : {
                "email" : "johnsmith@email.com",
                "firstName" : "Alexandra",
                "fullName" : "Alexandra Beaumont",
                "lastName" : "Beaumont",
                "phoneNumber" : "+12125551212",
                "secondaryEmail" : "johnsmith2@email.com",
                "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
              },
              "endDate" : "2017-12-22T08:07:58.742+0000",
              "financialBreakdown" : {
                "beneficiaryList" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "accountIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "accountName" : "The Siam Residences, Bangkok",
                  "accountUrl" : "https://trvl.as/the-siam-residences-bangkok",
                  "amountDue" : {
                    "percent" : 0.05
                  },
                  "displayAmount" : 450.0,
                  "displayAmountRefundModifier" : 45.0,
                  "displayCurrency" : "USD",
                  "internalAmount" : 450.0,
                  "internalAmountRefundModifier" : 45.0,
                  "internalCurrency" : "USD",
                  "netDisplayAmount" : 450.0,
                  "netInternalAmount" : 450.0,
                  "netSourceAmount" : 450.0,
                  "pendingRefunds" : [ {
                    "displayAmountRefundModifier" : 45.0,
                    "internalAmountRefundModifier" : 45.0,
                    "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
                    "sourceAmountRefundModifier" : 45.0
                  } ],
                  "reconciled" : false,
                  "sourceAmount" : 450.0,
                  "sourceAmountRefundModifier" : 45.0,
                  "sourceCurrency" : "THB"
                } ],
                "displayPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "internalPriceQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                }
              },
              "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
              "identifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "imageIdentifier" : "cloudinary-image-1",
              "imageUrl" : "https://path.to.image.com/this-is-me.jpg",
              "localizedDescription" : "place-1",
              "localizedName" : "Plass 1",
              "name" : "Thai Massage Spa Treatment",
              "price" : {
                "internalBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "internalChannelModifier" : -10,
                "internalPremiumModifier" : 40,
                "internalPromotionalModifier" : -40,
                "internalTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "quantity" : 1,
                "sourceBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "sourceChannelModifier" : -10,
                "sourcePremiumModifier" : 40,
                "sourcePromotionalModifier" : -40,
                "sourceToInternalCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceToUserCurrencyQuote" : {
                  "exchangeRate" : 33.5,
                  "source" : "USD",
                  "target" : "THB",
                  "timestamp" : 1705233000000
                },
                "sourceTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyBaseTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                },
                "userSpecifiedCurrencyChannelModifier" : -10,
                "userSpecifiedCurrencyPremiumModifier" : 40,
                "userSpecifiedCurrencyPromotionalModifier" : -40,
                "userSpecifiedCurrencyTotal" : {
                  "amount" : 1250.0,
                  "currency" : "USD"
                }
              },
              "pricingType" : "PER_USE",
              "startDate" : "2017-12-22T03:07:58.742+0000",
              "transactionalTravelInventoryIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
              "type" : "ADD_ON",
              "typeIdentifier" : "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29"
            } ],
            "statusHistory" : [ {
              "actor" : "stripe-webhook",
              "fromStatus" : "PENDING",
              "reason" : "Payment confirmed by Stripe",
              "timestamp" : "2026-01-15T10:30:00Z",
              "toStatus" : "CONFIRMED"
            } ],
            "totalAffiliateAgencyFeesSourceAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "totalPaymentProcessingFeeSourceAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "totalPlatformFeeSourceAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "totalSalesSourceAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "totalSupplierAgencyFeesSourceAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "userSession" : {
              "currency" : "USD",
              "itinerary" : {
                "endDate" : "2024-01-02",
                "items" : [ {
                  "adults" : 2,
                  "children" : [ {
                    "age" : 8,
                    "quantity" : 2
                  } ]
                } ],
                "nights" : 7,
                "startDate" : "2024-01-01"
              },
              "language" : "en",
              "lifestyle" : "LUXURY",
              "promotionalCodes" : [ "promo-1" ],
              "selectedRoomConfigurationIndex" : 0
            },
            "version" : 3
          } ],
          "first" : true,
          "last" : false,
          "number" : 0,
          "numberOfElements" : 20,
          "size" : 20,
          "totalElements" : 1234,
          "totalPages" : 62
        },
        "properties" : {
          "content" : {
            "type" : "array",
            "description" : "The elements on this page.",
            "items" : {
              "$ref" : "#/components/schemas/BookingLightweight_Supplier"
            }
          },
          "first" : {
            "type" : "boolean",
            "description" : "Whether this is the first page.",
            "example" : true
          },
          "last" : {
            "type" : "boolean",
            "description" : "Whether this is the last page.",
            "example" : false
          },
          "number" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Zero-based index of this page.",
            "example" : 0
          },
          "numberOfElements" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of elements on this page.",
            "example" : 20
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The requested page size.",
            "example" : 20
          },
          "totalElements" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of elements across all pages.",
            "example" : 1234
          },
          "totalPages" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Total number of pages for the current page size.",
            "example" : 62
          }
        }
      },
      "PendingRefund_Supplier" : {
        "type" : "object",
        "description" : "A pending refund allocated to a specific beneficiary, awaiting settlement. Once processed, amounts move from pendingRefunds into the parent Beneficiary's *RefundModifier fields.",
        "example" : {
          "displayAmountRefundModifier" : 45.0,
          "internalAmountRefundModifier" : 45.0,
          "refundIdentifier" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
          "sourceAmountRefundModifier" : 45.0
        },
        "properties" : {
          "displayAmountRefundModifier" : {
            "type" : "number",
            "description" : "Refund amount to be deducted from the beneficiary's displayAmount when applied",
            "example" : 45.0,
            "minimum" : 0
          },
          "internalAmountRefundModifier" : {
            "type" : "number",
            "description" : "Refund amount to be deducted from the beneficiary's internalAmount when applied",
            "example" : 45.0,
            "minimum" : 0
          },
          "refundIdentifier" : {
            "type" : "string",
            "description" : "Unique identifier linking this pending refund to the parent booking's refund record",
            "example" : "ref-d5b8a3c2-9e6f-4a1b-8d34",
            "minLength" : 1
          },
          "sourceAmountRefundModifier" : {
            "type" : "number",
            "description" : "Refund amount to be deducted from the beneficiary's sourceAmount when applied",
            "example" : 45.0,
            "minimum" : 0
          }
        },
        "required" : [ "displayAmountRefundModifier", "internalAmountRefundModifier", "refundIdentifier", "sourceAmountRefundModifier" ]
      },
      "PerkLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a platform perk for use in public-facing APIs, search results, and rate configuration, omitting internal admin fields.",
        "example" : {
          "descriptions" : [ {
            "description" : "Guaranteed upgrade to the next available room category at check-in",
            "language" : "en",
            "name" : "Guaranteed Room Upgrade"
          } ],
          "guaranteed" : true,
          "id" : "PERK_GUARANTEED_UPGRADE",
          "level" : 3,
          "sort" : 5
        },
        "properties" : {
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions of this perk in multiple languages. Each element provides a name, description, and language code (e.g., 'en', 'fr', 'de').",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "guaranteed" : {
            "type" : "boolean",
            "description" : "Whether this perk is guaranteed to be provided or available on a best-effort basis. Guaranteed perks take priority in allocation.",
            "example" : true
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "level" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Platform tier/value assigned to this perk (0=standard, higher=premium). Used for internal prioritization and matching with rate tiers.",
            "example" : 3
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Display order when showing this perk in a list (ascending sort). Lower numbers appear first; 999 is reserved for disabled/unlisted perks.",
            "example" : 5
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "descriptions", "guaranteed", "level", "sort" ]
      },
      "PersonalLightweight_Supplier" : {
        "type" : "object",
        "example" : {
          "address1" : "123 Petchburi Road",
          "address2" : "Ratchathewi District",
          "birthDate" : "1985-06-15",
          "childQuantity" : 2,
          "citizenship" : "Thailand",
          "city" : "Bangkok",
          "contactPerson" : [ {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          } ],
          "country" : "TH",
          "gender" : "FEMALE",
          "language" : "en",
          "maritalStatus" : "MARRIED",
          "petInfo" : [ {
            "name" : "Luna",
            "type" : "Golden Retriever"
          } ],
          "postalCode" : "10400",
          "preferredCurrency" : "USD",
          "state" : "Bangkok"
        },
        "properties" : {
          "address1" : {
            "type" : "string",
            "description" : "Primary address line",
            "example" : "123 Petchburi Road"
          },
          "address2" : {
            "type" : "string",
            "description" : "Secondary address line",
            "example" : "Ratchathewi District"
          },
          "birthDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Date of birth in ISO 8601 format",
            "example" : "1985-06-15"
          },
          "childQuantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of children",
            "example" : 2
          },
          "citizenship" : {
            "type" : "string",
            "description" : "Country of citizenship",
            "example" : "Thailand"
          },
          "city" : {
            "type" : "string",
            "description" : "City name",
            "example" : "Bangkok"
          },
          "contactPerson" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Contact_Supplier",
              "description" : "Array of emergency contact information for the customer"
            }
          },
          "country" : {
            "type" : "string",
            "description" : "Country code (ISO 3166-1 alpha-2)",
            "example" : "TH",
            "pattern" : "^[A-Z]{2}$"
          },
          "gender" : {
            "type" : "string",
            "description" : "Identifies the gender of the customer.",
            "enum" : [ "MALE", "FEMALE", "OTHER" ],
            "example" : "FEMALE"
          },
          "language" : {
            "type" : "string",
            "description" : "Primary language (ISO 639-1 code)",
            "example" : "en",
            "pattern" : "^[a-z]{2}(-[A-Z]{2})?$"
          },
          "maritalStatus" : {
            "type" : "string",
            "description" : "Marital status of the traveler",
            "enum" : [ "ANNULLED", "COHABITATING", "DIVORCED", "ENGAGED", "MARRIED", "SEPARATED", "SINGLE", "WIDOWED", "UNKNOWN" ],
            "example" : "MARRIED"
          },
          "petInfo" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PetInfoLightweight_Supplier",
              "description" : "Array of customer's pets"
            }
          },
          "physChallName" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Array of customer's physical challenges"
            }
          },
          "postalCode" : {
            "type" : "string",
            "description" : "Postal code",
            "example" : "10400"
          },
          "preferredCurrency" : {
            "type" : "string",
            "description" : "Preferred currency for monetary values (ISO 4217 code)",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "state" : {
            "type" : "string",
            "description" : "State or province",
            "example" : "Bangkok"
          }
        }
      },
      "PetInfoLightweight_Supplier" : {
        "type" : "object",
        "example" : {
          "name" : "Luna",
          "type" : "Golden Retriever"
        },
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Pet name",
            "example" : "Luna",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Pet type",
            "example" : "Golden Retriever",
            "minLength" : 1
          }
        },
        "required" : [ "name", "type" ]
      },
      "Preferences_Supplier" : {
        "type" : "object",
        "example" : {
          "bedTypePref" : "King bed",
          "cuisinePref" : "Thai",
          "foodSrvcPref" : "In-room dining",
          "guestType" : "Business traveler",
          "hotelChainPref" : "Mandarin Oriental",
          "mealPref" : "Continental breakfast",
          "physChalFeaturePref" : "Wheelchair accessible rooms",
          "propertyLocationPref" : "Beachfront",
          "propertyTypePref" : "Luxury Resort",
          "roomLocationPref" : "High floor with city view",
          "smokingAllowed" : false
        },
        "properties" : {
          "allergies" : {
            "type" : "array",
            "description" : "Known allergies",
            "items" : {
              "type" : "string"
            }
          },
          "bedTypePref" : {
            "type" : "string",
            "description" : "Preferred hotel bed type",
            "example" : "King bed"
          },
          "beveragePref" : {
            "type" : "array",
            "description" : "Beverage preferences",
            "items" : {
              "type" : "string"
            }
          },
          "businessSrvcPref" : {
            "type" : "array",
            "description" : "Preferred business services",
            "items" : {
              "type" : "string"
            }
          },
          "cuisinePref" : {
            "type" : "string",
            "description" : "Cuisine preference",
            "example" : "Thai"
          },
          "foodPref" : {
            "type" : "array",
            "description" : "Food preferences",
            "items" : {
              "type" : "string"
            }
          },
          "foodSrvcPref" : {
            "type" : "string",
            "description" : "Preferred food service facilities",
            "example" : "In-room dining"
          },
          "guestType" : {
            "type" : "string",
            "description" : "Guest type classification",
            "example" : "Business traveler"
          },
          "hotelChainPref" : {
            "type" : "string",
            "description" : "Preferred hotel chain name",
            "example" : "Mandarin Oriental"
          },
          "interestPref" : {
            "type" : "array",
            "description" : "Interest preferences",
            "items" : {
              "type" : "string"
            }
          },
          "mealPref" : {
            "type" : "string",
            "description" : "Meal preference",
            "example" : "Continental breakfast"
          },
          "petsPref" : {
            "type" : "array",
            "description" : "Pet-friendly preferences",
            "items" : {
              "type" : "string"
            }
          },
          "physChalFeaturePref" : {
            "type" : "array",
            "description" : "Preferred accessibility features",
            "example" : "Wheelchair accessible rooms",
            "items" : {
              "type" : "string"
            }
          },
          "propertyAmenityPref" : {
            "type" : "array",
            "description" : "Preferred hotel property amenities",
            "items" : {
              "type" : "string"
            }
          },
          "propertyLocationPref" : {
            "type" : "string",
            "description" : "Preferred hotel property locations",
            "example" : "Beachfront"
          },
          "propertyTypePref" : {
            "type" : "string",
            "description" : "Preferred hotel property types",
            "example" : "Luxury Resort"
          },
          "recreationSrvcPref" : {
            "type" : "array",
            "description" : "Preferred recreation services",
            "items" : {
              "type" : "string"
            }
          },
          "roomAmenityPref" : {
            "type" : "array",
            "description" : "Preferred hotel room amenities",
            "items" : {
              "type" : "string"
            }
          },
          "roomLocationPref" : {
            "type" : "string",
            "description" : "Preferred hotel room locations",
            "example" : "High floor with city view"
          },
          "securityFeaturePref" : {
            "type" : "array",
            "description" : "Preferred security features",
            "items" : {
              "type" : "string"
            }
          },
          "smokingAllowed" : {
            "type" : "boolean",
            "description" : "Preference for smoking allowed rooms",
            "example" : false
          }
        }
      },
      "ProfileLightweight_Supplier" : {
        "type" : "object",
        "example" : {
          "createdDate" : "2026-01-14T09:30:00",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "personal" : {
            "address1" : "123 Petchburi Road",
            "address2" : "Ratchathewi District",
            "birthDate" : "1985-06-15",
            "childQuantity" : 2,
            "citizenship" : "Thailand",
            "city" : "Bangkok",
            "contactPerson" : [ {
              "email" : "johnsmith@email.com",
              "firstName" : "Alexandra",
              "fullName" : "Alexandra Beaumont",
              "lastName" : "Beaumont",
              "phoneNumber" : "+12125551212",
              "secondaryEmail" : "johnsmith2@email.com",
              "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
            } ],
            "country" : "TH",
            "gender" : "FEMALE",
            "language" : "en",
            "maritalStatus" : "MARRIED",
            "petInfo" : [ {
              "name" : "Luna",
              "type" : "Golden Retriever"
            } ],
            "postalCode" : "10400",
            "preferredCurrency" : "USD",
            "state" : "Bangkok"
          },
          "preferences" : {
            "bedTypePref" : "King bed",
            "cuisinePref" : "Thai",
            "foodSrvcPref" : "In-room dining",
            "guestType" : "Business traveler",
            "hotelChainPref" : "Mandarin Oriental",
            "mealPref" : "Continental breakfast",
            "physChalFeaturePref" : "Wheelchair accessible rooms",
            "propertyLocationPref" : "Beachfront",
            "propertyTypePref" : "Luxury Resort",
            "roomLocationPref" : "High floor with city view",
            "smokingAllowed" : false
          },
          "profileIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "share" : true,
          "user" : {
            "email" : "alexandra@beaumont.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phone" : "+66212658866",
            "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
          },
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
          "version" : 3
        },
        "properties" : {
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "personal" : {
            "$ref" : "#/components/schemas/PersonalLightweight_Supplier",
            "description" : "Detailed customer information for this profile"
          },
          "preferences" : {
            "$ref" : "#/components/schemas/Preferences_Supplier",
            "description" : "Customer preferences"
          },
          "profileIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Profile identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "share" : {
            "type" : "boolean",
            "description" : "Indicates whether the user wants to share this profile of themselves with hotel(s)",
            "example" : true
          },
          "user" : {
            "$ref" : "#/components/schemas/ProfileUser_Supplier",
            "description" : "User details"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "User identifier",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "minLength" : 1
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "personal", "preferences", "profileIdentifier", "share", "user", "userIdentifier" ]
      },
      "ProfileUser_Supplier" : {
        "type" : "object",
        "example" : {
          "email" : "alexandra@beaumont.com",
          "firstName" : "Alexandra",
          "fullName" : "Alexandra Beaumont",
          "lastName" : "Beaumont",
          "phone" : "+66212658866",
          "profilePictureUrl" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "User email address",
            "example" : "alexandra@beaumont.com"
          },
          "firstName" : {
            "type" : "string",
            "description" : "User first name",
            "example" : "Alexandra"
          },
          "fullName" : {
            "type" : "string",
            "description" : "Full name",
            "example" : "Alexandra Beaumont",
            "readOnly" : true
          },
          "lastName" : {
            "type" : "string",
            "description" : "User last name",
            "example" : "Beaumont"
          },
          "phone" : {
            "type" : "string",
            "description" : "User phone number",
            "example" : "+66212658866",
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "profilePictureUrl" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Profile picture URL",
            "example" : "https://res.cloudinary.com/wink/image/upload/v1/user/alexandra-beaumont.jpg"
          }
        }
      },
      "PropertyAggregateLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a property aggregate, used for search results, listings, and map markers where not all property details are required.",
        "example" : {
          "activities" : 3,
          "addOns" : 5,
          "address" : {
            "city" : "Bangkok",
            "countryCode" : "TH",
            "line1" : "3/2 Khao Road",
            "postalCode" : "10300",
            "state" : "Bangkok"
          },
          "aggregateGreendexRating" : 7.0,
          "aggregateReviewRating" : 8.7,
          "architecturalStyle" : "7",
          "attractions" : 5,
          "available" : true,
          "bookings" : 6054,
          "brand" : "The Siam Residences",
          "chain" : "The Siam Collection",
          "currencyCode" : "THB",
          "descriptions" : [ {
            "description" : "An elegant riverside sanctuary in the heart of Bangkok.",
            "language" : "en",
            "title" : "Luxury Riverside Retreat"
          } ],
          "hotelAmenityCodes" : [ "1", "7" ],
          "hotelCategory" : "45",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "images" : [ {
            "identifier" : "the-siam-residences/lobby-entrance",
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "type" : "IMAGE"
          } ],
          "lifestyleTypes" : [ "LIFESTYLE_HEALTH_FITNESS" ],
          "localName" : "เดอะสยาม เรสซิเดนซ์",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "Point"
          },
          "locationCategory" : "34",
          "meetingRooms" : 2,
          "name" : "The Siam Residences, Bangkok",
          "numberOfRooms" : 32,
          "places" : 9,
          "propertyAccessibilityCodes" : [ "1" ],
          "propertySecurityCodes" : [ "7" ],
          "reservations" : {
            "email" : "reservations@thesiamresidences.com",
            "firstName" : "Somchai",
            "lastName" : "Phattanapong",
            "phone" : "+66-2-123-4567"
          },
          "restaurants" : 2,
          "score" : 70,
          "segmentCategory" : "7",
          "socials" : [ {
            "handle" : "thesiamresidences",
            "platform" : "INSTAGRAM"
          } ],
          "spas" : 1,
          "starRating" : 5,
          "thirdPartyReviews" : [ ],
          "totalReviews" : 989,
          "uniqueId" : "siam-residences-bkk",
          "urlName" : "the-siam-residences-bangkok-thailand",
          "videos" : [ ],
          "whenBuilt" : "1927"
        },
        "properties" : {
          "activities" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of activites property has listed on its profile.",
            "example" : 3
          },
          "addOns" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of add-ons property has on its profile.",
            "example" : 5
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Property address."
          },
          "aggregateGreendexRating" : {
            "type" : "number",
            "format" : "float",
            "default" : "0.0",
            "description" : "Aggregate Green Index score if the property has answered our questionnaire available in the Extranet.",
            "example" : 7.0
          },
          "aggregateReviewRating" : {
            "type" : "number",
            "format" : "float",
            "default" : "0.0",
            "description" : "Aggregate score based on all current user reviews.",
            "example" : 7.8
          },
          "architecturalStyle" : {
            "type" : "string",
            "description" : "Supported OTA specification `ARC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "7"
          },
          "attractions" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of attractions property has listed on its profile.",
            "example" : 5
          },
          "available" : {
            "type" : "boolean",
            "description" : "Whether property is available",
            "example" : true
          },
          "bookings" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0,
            "description" : "Number of bookings for this property on the wink.travel platform.",
            "example" : 6054
          },
          "brand" : {
            "type" : "string",
            "description" : "Name of hotel brand",
            "example" : "Hotel brand"
          },
          "chain" : {
            "type" : "string",
            "description" : "Name of hotel chain if applicable.",
            "example" : "Hotel chain"
          },
          "city" : {
            "$ref" : "#/components/schemas/GeoNameLightweight_Supplier",
            "description" : "City location"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code for property.",
            "example" : "THB",
            "pattern" : "^[A-Z]{3}$"
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Short and long welcome text",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            }
          },
          "generalManager" : {
            "$ref" : "#/components/schemas/GeneralManager_Supplier",
            "description" : "General manager of the property."
          },
          "hotelAmenityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `HAC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : [ "1", "7" ],
            "items" : {
              "type" : "string"
            }
          },
          "hotelCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `PCT` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "45"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique hotel record identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
          },
          "images" : {
            "type" : "array",
            "description" : "Property images.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          },
          "lastUpdate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp of the last update to this property aggregate record."
          },
          "lifestyleTypes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "A list of lifestyles the property associates with.",
              "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
              "example" : "LIFESTYLE_HEALTH_FITNESS"
            }
          },
          "localName" : {
            "type" : "string",
            "description" : "Hotel local name if different from the trade name or if it is the local language.",
            "example" : "Det Beste Hotellet"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "locationCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `LOC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "34"
          },
          "meetingRooms" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of meeting rooms property has on its profile.",
            "example" : 2
          },
          "name" : {
            "type" : "string",
            "description" : "Hotel trade name",
            "example" : "The Siam Residences, Bangkok"
          },
          "numberOfRooms" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of rooms / keys for this property.",
            "example" : 32
          },
          "places" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of places property has listed on its profile.",
            "example" : 9
          },
          "policy" : {
            "$ref" : "#/components/schemas/PropertyPolicy_Supplier",
            "description" : "Basic property policy record."
          },
          "propertyAccessibilityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : [ "1", "7" ],
            "items" : {
              "type" : "string"
            }
          },
          "propertySecurityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : [ "1", "7" ],
            "items" : {
              "type" : "string"
            }
          },
          "reservations" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Contact details for reservations desk"
          },
          "restaurants" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of restaurants property has on its profile.",
            "example" : 2
          },
          "score" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Demand score (0-100) derived from booking volume and review rating. Recomputed monthly; used to rank properties in search results.",
            "example" : 70
          },
          "segmentCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `SEG` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "7"
          },
          "socials" : {
            "type" : "array",
            "description" : "Property's social network accounts",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "spas" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of spas property has on its profile.",
            "example" : 1
          },
          "starRating" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Official or self-designated property star rating. Note that in some regions there are 6-star hotels. They are the same as 5-star hotels everywhere else.",
            "example" : 5,
            "maximum" : 6,
            "minimum" : 0
          },
          "thirdPartyReviews" : {
            "type" : "array",
            "description" : "Array of awards and third party reviews given to property by certified / non-certified providers.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "totalReviews" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Count of total reviews left by users at this property.",
            "example" : 989
          },
          "uniqueId" : {
            "type" : "string",
            "description" : "Event shorter name",
            "example" : "abc123",
            "minLength" : 1
          },
          "urlName" : {
            "type" : "string",
            "description" : "Unique URL-friendly name slug of hotel",
            "example" : "the-siam-residences-bangkok-thailand",
            "pattern" : "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
          },
          "videos" : {
            "type" : "array",
            "description" : "Property videos.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          },
          "whenBuilt" : {
            "type" : "string",
            "description" : "Year the property was constructed.",
            "example" : "1927"
          }
        },
        "required" : [ "uniqueId" ]
      },
      "QuoteLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight representation of an exchange rate quote between a source and target currency pair",
        "example" : {
          "exchangeRate" : 33.5,
          "source" : "USD",
          "target" : "THB",
          "timestamp" : 1705233000000
        },
        "properties" : {
          "exchangeRate" : {
            "type" : "number",
            "description" : "Exchange rate from source to target currency",
            "example" : 33.5
          },
          "source" : {
            "type" : "string",
            "description" : "ISO 4217 source currency code",
            "example" : "USD",
            "minLength" : 1
          },
          "target" : {
            "type" : "string",
            "description" : "ISO 4217 target currency code",
            "example" : "THB",
            "minLength" : 1
          },
          "timestamp" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Unix epoch milliseconds when the quote was recorded",
            "example" : 1705233000000
          }
        },
        "required" : [ "exchangeRate", "source", "target", "timestamp" ]
      },
      "ReportingAncillary_Supplier" : {
        "type" : "object",
        "description" : "Reporting data for a single ancillary booking, including gross and net amounts in the property's source currency.",
        "example" : {
          "currency" : "USD",
          "grossAmount" : 450.0,
          "name" : "Thai Massage",
          "netAmount" : 405.0,
          "netAmountWithRefund" : 405.0
        },
        "properties" : {
          "currency" : {
            "type" : "string",
            "description" : "The currency for these amounts.",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "grossAmount" : {
            "type" : "number",
            "description" : "The gross amount.",
            "example" : 450.0
          },
          "name" : {
            "type" : "string",
            "description" : "Full name of ancillary in English.",
            "example" : "Thai Massage"
          },
          "netAmount" : {
            "type" : "number",
            "description" : "The gross amount minus fees and commissions.",
            "example" : 405.0
          },
          "netAmountWithRefund" : {
            "type" : "number",
            "description" : "The gross amount minus fees and commissions.",
            "example" : 405.0
          }
        }
      },
      "ReportingDailyRate_Supplier" : {
        "type" : "object",
        "description" : "Reporting data for a single night of a booking stay, including base, gross, and net amounts for accounting purposes.",
        "example" : {
          "baseAmount" : 450.0,
          "currency" : "USD",
          "date" : "2026-01-15",
          "grossAmount" : 405.0,
          "netAmount" : 360.0,
          "netAmountWithRefund" : 360.0
        },
        "properties" : {
          "baseAmount" : {
            "type" : "number",
            "description" : "The rate given to us by channel manager / CRS / PMS.",
            "example" : 450.0
          },
          "currency" : {
            "type" : "string",
            "description" : "The currency for these amounts.",
            "example" : "USD"
          },
          "date" : {
            "type" : "string",
            "format" : "date",
            "description" : "The rate date.",
            "example" : "2026-01-15"
          },
          "grossAmount" : {
            "type" : "number",
            "description" : "The derived amount based on promotions, member discounts etc within our platform.",
            "example" : 405.0
          },
          "netAmount" : {
            "type" : "number",
            "description" : "The gross amount minus fees and commissions.",
            "example" : 360.0
          },
          "netAmountWithRefund" : {
            "type" : "number",
            "description" : "The net amount minus potential refund. Null if booking contains no refund.",
            "example" : 360.0
          }
        }
      },
      "ReportingExtraCharge_Supplier" : {
        "type" : "object",
        "description" : "Reporting data for an extra charge on a booking, including gross, net, and net-after-refund amounts.",
        "example" : {
          "currency" : "USD",
          "description" : "The charge is 50.00 USD and is charged per day.",
          "grossAmount" : 450.0,
          "name" : "Late checkout fee",
          "netAmount" : 405.0,
          "netAmountWithRefund" : 405.0
        },
        "properties" : {
          "currency" : {
            "type" : "string",
            "description" : "Currency code for these amounts.",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the extra charge.",
            "example" : "The charge is 50.00 USD and is charged per day."
          },
          "grossAmount" : {
            "type" : "number",
            "description" : "Gross amount of the extra charge.",
            "example" : 450.0
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the extra charge.",
            "example" : "Late checkout fee"
          },
          "netAmount" : {
            "type" : "number",
            "description" : "Net amount after fees and commissions.",
            "example" : 405.0
          },
          "netAmountWithRefund" : {
            "type" : "number",
            "description" : "Net amount minus any refund. Null if no refund applies.",
            "example" : 405.0
          }
        }
      },
      "RoomConfigurationPriceRatePlan_Supplier" : {
        "type" : "object",
        "example" : {
          "allInclusive" : false,
          "allInclusivePlusAlcohol" : false,
          "breakfast" : false,
          "brunch" : false,
          "dinner" : false,
          "earlyCheckInCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "lateCheckOutCharge" : {
            "fixedAmount" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "percent" : 0.25,
            "type" : "PERCENTAGE"
          },
          "lunch" : false,
          "name" : "BAR 1"
        },
        "properties" : {
          "allInclusive" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included except alcohol",
            "example" : false
          },
          "allInclusivePlusAlcohol" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Everything included with alcohol",
            "example" : false
          },
          "breakfast" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates breakfast is included.",
            "example" : false
          },
          "brunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates brunch is included.",
            "example" : false
          },
          "dinner" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates dinner is included.",
            "example" : false
          },
          "earlyCheckInCharge" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Rate plan identifier",
            "minLength" : 1
          },
          "lateCheckOutCharge" : {
            "$ref" : "#/components/schemas/VariableCharge_Supplier"
          },
          "lunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "When true, indicates lunch is included.",
            "example" : false
          },
          "name" : {
            "type" : "string",
            "description" : "Provides the name of the rate plan.",
            "example" : "BAR 1",
            "minLength" : 1
          }
        },
        "required" : [ "allInclusive", "allInclusivePlusAlcohol", "breakfast", "brunch", "dinner", "identifier", "lunch", "name" ]
      },
      "RoomConfiguration_Supplier" : {
        "type" : "object",
        "description" : "Room occupancy and guest composition for a single or multiple identical rooms",
        "example" : {
          "adults" : 2,
          "children" : [ {
            "age" : 7,
            "quantity" : 2
          } ],
          "quantity" : 2
        },
        "properties" : {
          "adults" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of adult guests in this room type",
            "example" : 2,
            "minimum" : 1
          },
          "children" : {
            "type" : "array",
            "description" : "Child guests in this room, with age groups",
            "items" : {
              "$ref" : "#/components/schemas/Child_Supplier"
            }
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of identical rooms with this configuration",
            "example" : 2,
            "minimum" : 1
          }
        },
        "required" : [ "adults" ]
      },
      "TrackingPixelParameter_Supplier" : {
        "type" : "object",
        "description" : "Key-value parameter passed with a tracking pixel event; values may be static strings or runtime placeholders such as {booking.total}",
        "example" : {
          "key" : "currency",
          "value" : "USD"
        },
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Parameter name (e.g., 'currency', 'value', 'content_id')",
            "example" : "currency",
            "minLength" : 1
          },
          "value" : {
            "type" : "string",
            "description" : "Parameter value. Can be a static value or a placeholder like '{booking.total}'",
            "example" : "USD",
            "minLength" : 1
          }
        },
        "required" : [ "key", "value" ]
      },
      "TrackingPixelTrigger_Supplier" : {
        "type" : "object",
        "description" : "Defines a booking funnel event that causes a tracking pixel to fire, together with optional custom key-value parameters sent with the event",
        "example" : {
          "eventType" : "PURCHASE",
          "parameters" : [ {
            "key" : "currency",
            "value" : "USD"
          } ]
        },
        "properties" : {
          "eventType" : {
            "type" : "string",
            "description" : "The event type that triggers this pixel",
            "enum" : [ "PAGE_VIEW", "SEARCH", "VIEW_CONTENT", "ADD_TO_CART", "INITIATE_CHECKOUT", "ADD_PAYMENT_INFO", "PURCHASE", "LEAD", "SIGN_UP" ],
            "example" : "PURCHASE"
          },
          "parameters" : {
            "type" : "array",
            "description" : "Custom key-value parameters to include with the event",
            "items" : {
              "$ref" : "#/components/schemas/TrackingPixelParameter_Supplier"
            }
          }
        },
        "required" : [ "eventType" ]
      },
      "TrackingPixel_Supplier" : {
        "type" : "object",
        "description" : "Tracking pixel or web beacon configuration that fires on specified booking events for analytics and conversion tracking",
        "example" : {
          "accessToken" : "EAABsbCS0kB4BAAI...",
          "consentCategory" : "MARKETING",
          "customImageUrl" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif",
          "customScript" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);",
          "enabled" : true,
          "identifier" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
          "name" : "Facebook Conversion Pixel",
          "pixelId" : "1234567890",
          "provider" : "FACEBOOK",
          "triggers" : [ {
            "eventType" : "PURCHASE",
            "parameters" : [ {
              "key" : "currency",
              "value" : "USD"
            } ]
          } ],
          "type" : "JAVASCRIPT"
        },
        "properties" : {
          "accessToken" : {
            "type" : "string",
            "description" : "Optional access token for providers that require authentication",
            "example" : "EAABsbCS0kB4BAAI..."
          },
          "consentCategory" : {
            "type" : "string",
            "description" : "Consent category for GDPR/CCPA compliance",
            "enum" : [ "STRICTLY_NECESSARY", "FUNCTIONAL", "ANALYTICS", "MARKETING" ],
            "example" : "MARKETING"
          },
          "customImageUrl" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Custom image URL for IMAGE type pixels. Will be loaded as a 1x1 tracking pixel.",
            "example" : "https://res.cloudinary.com/wink/image/upload/v1/pixel/conversion.gif"
          },
          "customScript" : {
            "type" : "string",
            "description" : "Custom JavaScript code for CUSTOM provider type. Will be injected into the page.",
            "example" : "!function(f,b,e,v,n,t,s){/* custom pixel code */}(window, document);"
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this tracking pixel is currently active",
            "example" : true
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this tracking pixel",
            "example" : "f8e4b2c9-3a7d-4c1f-9e5b-2d6f1a8c4e73",
            "minLength" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "User-friendly name for this tracking pixel",
            "example" : "Facebook Conversion Pixel",
            "minLength" : 1
          },
          "pageTypes" : {
            "type" : "array",
            "description" : "Page types where this pixel should fire. Empty list or containing ALL means fire on all pages.",
            "items" : {
              "type" : "string",
              "description" : "Booking engine page types on which a tracking pixel can be configured to fire; use ALL to fire on every page",
              "enum" : [ "ALL", "LANDING_PAGE", "SEARCH_RESULTS", "ROOM_SELECTION", "CHECKOUT", "CONFIRMATION" ]
            }
          },
          "pixelId" : {
            "type" : "string",
            "description" : "Provider-specific pixel ID (e.g., Facebook Pixel ID, Google Ads Conversion ID)",
            "example" : "1234567890"
          },
          "provider" : {
            "type" : "string",
            "description" : "Tracking pixel provider",
            "enum" : [ "FACEBOOK", "GOOGLE_ADS", "GOOGLE_ANALYTICS", "TIKTOK", "LINKEDIN", "PINTEREST", "SNAPCHAT", "TWITTER", "SOJOURN", "CUSTOM" ],
            "example" : "FACEBOOK"
          },
          "triggers" : {
            "type" : "array",
            "description" : "Event triggers that cause this pixel to fire, with optional custom parameters.",
            "items" : {
              "$ref" : "#/components/schemas/TrackingPixelTrigger_Supplier"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Type of tracking pixel delivery mechanism",
            "enum" : [ "JAVASCRIPT", "IMAGE" ],
            "example" : "JAVASCRIPT"
          }
        },
        "required" : [ "consentCategory", "identifier", "name", "provider", "type" ]
      },
      "BookingOverviewRequest_Supplier" : {
        "type" : "object",
        "description" : "Request parameters for generating a booking overview analytics time series.",
        "example" : {
          "type" : "MONTH",
          "units" : 12
        },
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "The type of time series that should be used",
            "enum" : [ "HOUR", "DAY", "MONTH", "YEAR" ],
            "example" : "MONTH"
          },
          "units" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "How many units of the timeseries type should be used",
            "example" : 12
          }
        },
        "required" : [ "type" ]
      },
      "BookingAnalytics_Supplier" : {
        "type" : "object",
        "description" : "Analytics data for a property's bookings, containing chart series for visualizing booking trends.",
        "example" : {
          "charts" : [ {
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "legend" : {
              "data" : [ "Bookings" ]
            },
            "series" : [ {
              "data" : [ 12, 18, 25, 30, 22, 40 ],
              "name" : "Bookings"
            } ],
            "title" : {
              "text" : "Monthly Bookings"
            },
            "xAxis" : {
              "data" : [ "Jan", "Feb", "Mar", "Apr", "May", "Jun" ]
            }
          } ]
        },
        "properties" : {
          "charts" : {
            "type" : "array",
            "description" : "Interesting property-level chart data overview",
            "items" : {
              "$ref" : "#/components/schemas/LineChart_Supplier"
            }
          }
        },
        "required" : [ "charts" ]
      },
      "ChartCategoryAxis_Supplier" : {
        "type" : "object",
        "description" : "Configuration options for the category (X) axis of the chart, including the list of category names.",
        "properties" : {
          "data" : {
            "type" : "array",
            "description" : "The category names. The Chart creates a category for every item of the array.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "data" ]
      },
      "ChartLegend_Supplier" : {
        "type" : "object",
        "description" : "The chart legend, containing the list of series names displayed in the legend.",
        "properties" : {
          "data" : {
            "type" : "array",
            "description" : "The legend labels, one entry per series.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "data" ]
      },
      "ChartSeries_Supplier" : {
        "type" : "object",
        "description" : "A named data series for a chart, pairing a display name with its array of numeric data points.",
        "example" : {
          "name" : "Revenue"
        },
        "properties" : {
          "data" : {
            "type" : "array",
            "description" : "The array of data items which represent the series data.\n\nYou can set it to:\n\n- Array of numbers. Supported when the series.type option is set to `area`, `bar`, `column`, `donut`, `pie`, `line`, or `waterfall`.\nThe Bubble series need arrays of three values—X value, Y value, and Size value—for example, [1, 1, 10]. The Scatter and ScatterLine series need arrays of two values—X value and Y value. The OHLC and Candlestick series need arrays of four values—open, high, low, and close. The RangeBar and RangeArea series need arrays of two values—the from and to value.",
            "items" : {
              "type" : "number"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the Chart series which is visible in the legend.",
            "example" : "Revenue"
          }
        },
        "required" : [ "data", "name" ]
      },
      "ChartTitle_Supplier" : {
        "type" : "object",
        "description" : "The title displayed at the top of the chart.",
        "example" : {
          "text" : "Monthly Booking Revenue"
        },
        "properties" : {
          "text" : {
            "type" : "string",
            "description" : "The text content of the chart title.",
            "example" : "Monthly Booking Revenue"
          }
        },
        "required" : [ "text" ]
      },
      "LineChart_Supplier" : {
        "type" : "object",
        "description" : "A line chart data structure containing an identifier, title, legend, one or more series of data points, and category axis configuration.",
        "example" : {
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "legend" : {
            "data" : [ "Revenue", "Refunds" ]
          },
          "series" : [ {
            "data" : [ 120000, 95000, 148000, 210000, 175000, 230000 ],
            "name" : "Revenue"
          }, {
            "data" : [ 5000, 3200, 7800, 4100, 6500, 2900 ],
            "name" : "Refunds"
          } ],
          "title" : {
            "text" : "Monthly Booking Revenue"
          },
          "xAxis" : {
            "data" : [ "Jan", "Feb", "Mar", "Apr", "May", "Jun" ]
          }
        },
        "properties" : {
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique line chart identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
          },
          "legend" : {
            "$ref" : "#/components/schemas/ChartLegend_Supplier",
            "description" : "The configuration options for the chart legend."
          },
          "series" : {
            "type" : "array",
            "description" : "The configuration of the chart series. The series type is determined by the value of the type field. If a type value is missing, the chart renders the type that is specified in `seriesDefaults`. Some options accept functions as arguments. These arguments are evaluated for each point which is supplied as a parameter. If no value is returned, the chart uses the `theme` or `seriesDefaults` values.",
            "items" : {
              "$ref" : "#/components/schemas/ChartSeries_Supplier"
            }
          },
          "title" : {
            "$ref" : "#/components/schemas/ChartTitle_Supplier",
            "description" : "The configuration options for the chart title"
          },
          "xAxis" : {
            "$ref" : "#/components/schemas/ChartCategoryAxis_Supplier",
            "description" : "The configuration options of the category axis.",
            "title" : "Category axis"
          },
          "xaxis" : {
            "$ref" : "#/components/schemas/ChartCategoryAxis_Supplier"
          }
        },
        "required" : [ "identifier", "legend", "series", "title", "xAxis" ]
      },
      "InventoryUpdateRequest_Supplier" : {
        "type" : "object",
        "description" : "Request to toggle the enabled/disabled state of an inventory item on a sales channel.",
        "example" : {
          "enabled" : true,
          "identifier" : "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52"
        },
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Flag the supplier can use to enable / disable this inventory",
            "example" : true
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique record identifier",
            "example" : "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52",
            "minLength" : 1
          }
        },
        "required" : [ "enabled", "identifier" ]
      },
      "Inventory_Supplier" : {
        "type" : "object",
        "description" : "A bookable inventory item tied to a sales channel, representing a guest room, meeting room, spa, restaurant, add-on, attraction, activity, or place made available for booking.",
        "example" : {
          "address" : {
            "city" : {
              "country" : {
                "continent" : "AS",
                "countryCode" : "TH",
                "geoNameId" : "1605651",
                "name" : "Thailand"
              },
              "geoNameId" : "1609350",
              "name" : "Bangkok"
            },
            "countryCode" : "TH",
            "line1" : "9 Thanon Krung Thonburi",
            "postalCode" : "10600",
            "state" : "Bangkok"
          },
          "bookable" : true,
          "cityGeoNameId" : "1609350",
          "cityUrlName" : "bangkok",
          "commissionable" : true,
          "continent" : "AS",
          "countryCode" : "TH",
          "countryGeoNameId" : "1605651",
          "createdDate" : "2026-01-14T09:30:00",
          "enabled" : true,
          "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "image" : {
            "descriptions" : [ {
              "description" : "Spacious deluxe room with panoramic city views",
              "language" : "en",
              "title" : "Deluxe City View Room"
            } ],
            "identifier" : "the-siam-residences/deluxe-room-city-view",
            "isLandscape" : true,
            "multimediaIdentifier" : "2b4d6f8a-0c2e-4a6b-8d0f-2c4e6a8b0d2f",
            "published" : true,
            "sort" : 10,
            "type" : "IMAGE"
          },
          "inventoryIdentifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
          "inventoryName" : "Deluxe Room with City View",
          "inventoryNameInEnglish" : "Deluxe City View Room",
          "inventoryType" : "GUEST_ROOM",
          "lastUpdate" : "2026-01-14T09:30:00",
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "Point"
          },
          "lowestDisplayPrice" : {
            "amount" : 125.0,
            "currency" : "USD"
          },
          "lowestPrice" : {
            "amount" : 4500.0,
            "currency" : "THB"
          },
          "pricePoint" : "THREE",
          "quantity" : 50,
          "salesChannel" : {
            "blacklisted" : false,
            "channelDisabled" : false,
            "commission" : 15.0,
            "enabled" : true,
            "identifier" : "7d2e4f0b-5c1a-4e8d-b3f9-2a6c0d7e1f4b",
            "ownerIdentifier" : "1a3b5c7d-9e2f-4a0b-8c1d-6e4f0a8b2c51",
            "percentDiscount" : 0.0,
            "supplierIdentifier" : "4f8b2c0d-6e1a-4b3c-9d5e-7a0f2c4b6e8d",
            "supplierName" : "The Siam Residences"
          },
          "version" : 1
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Defaults to property address."
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether inventory can be booked",
            "example" : true
          },
          "cityGeoNameId" : {
            "type" : "string",
            "description" : "Which city the inventory is located on",
            "example" : "123456",
            "minLength" : 1
          },
          "cityUrlName" : {
            "type" : "string",
            "description" : "Which city the inventory is located on",
            "example" : "NA",
            "minLength" : 1,
            "pattern" : "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Whether this is commissionable or not",
            "example" : true
          },
          "continent" : {
            "type" : "string",
            "description" : "Which continent the inventory is located on",
            "example" : "NA",
            "minLength" : 1
          },
          "countryCode" : {
            "type" : "string",
            "description" : "Which country the inventory is located on",
            "example" : "TH",
            "minLength" : 1,
            "pattern" : "^[A-Z]{2}$"
          },
          "countryGeoNameId" : {
            "type" : "string",
            "description" : "Which country the inventory is located on",
            "example" : "123456",
            "minLength" : 1
          },
          "createdDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00"
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this inventory is enabled or not",
            "example" : true
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Document UUID",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "image" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_Supplier",
            "description" : "Main image of inventory"
          },
          "inventoryIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Inventory type identifier",
            "example" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
            "minLength" : 1
          },
          "inventoryName" : {
            "type" : "string",
            "description" : "Name of inventory as hotel is seeing it",
            "example" : "Deluxe Room with City View",
            "minLength" : 1
          },
          "inventoryNameInEnglish" : {
            "type" : "string",
            "description" : "Name of inventory as traveler is seeing it",
            "example" : "Deluxe City View Room",
            "minLength" : 1
          },
          "inventoryType" : {
            "type" : "string",
            "description" : "Inventory type",
            "enum" : [ "GUEST_ROOM", "ADD_ON", "MEETING_ROOM", "RESTAURANT", "SPA", "ATTRACTION", "PLACE", "ACTIVITY" ],
            "example" : "GUEST_ROOM"
          },
          "lastUpdate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12"
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Location",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "lowestDisplayPrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Best price of the room type or facility ancillary in platform currency"
          },
          "lowestPrice" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Best price of the room type or facility ancillary"
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "quantity",
            "example" : 100
          },
          "salesChannel" : {
            "$ref" : "#/components/schemas/SalesChannelRef_Supplier",
            "description" : "Parent sales channel"
          },
          "version" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.",
            "example" : 12
          }
        },
        "required" : [ "address", "bookable", "cityGeoNameId", "cityUrlName", "commissionable", "continent", "countryCode", "countryGeoNameId", "enabled", "image", "inventoryIdentifier", "inventoryName", "inventoryNameInEnglish", "inventoryType", "location", "pricePoint", "quantity", "salesChannel" ]
      },
      "SalesChannelRef_Supplier" : {
        "type" : "object",
        "properties" : {
          "blacklisted" : {
            "type" : "boolean"
          },
          "channelDisabled" : {
            "type" : "boolean"
          },
          "commission" : {
            "type" : "number",
            "format" : "float"
          },
          "enabled" : {
            "type" : "boolean"
          },
          "id" : {
            "type" : "string"
          },
          "ownerIdentifier" : {
            "type" : "string"
          },
          "ownerName" : {
            "type" : "string"
          },
          "percentDiscount" : {
            "type" : "number",
            "format" : "float"
          },
          "selfAcquires" : {
            "type" : "boolean"
          },
          "subType" : {
            "type" : "string",
            "description" : "Type of entity that manages, facilitates, or administers properties, bookings, or payments on the Wink Platform",
            "enum" : [ "TRIP_PAY", "FACILITATOR", "DIRECT", "APPLICATION", "HOTEL", "TRAVELIKO", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "GOOGLE_HOTEL_API", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ]
          },
          "supplierIdentifier" : {
            "type" : "string"
          },
          "supplierName" : {
            "type" : "string"
          }
        }
      },
      "SalesChannelUpdateRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload to update the configuration of an existing sales channel, including discount, commission, and applied promotions.",
        "example" : {
          "blacklisted" : true,
          "commission" : 0.2,
          "enabled" : true,
          "percentDiscount" : 0.15,
          "rateModifierBundleIdentifiers" : [ "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51" ],
          "rateModifierIdentifiers" : [ "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73" ]
        },
        "properties" : {
          "blacklisted" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Flag the supplier can use to ignore a sales channel",
            "example" : true
          },
          "commission" : {
            "type" : "number",
            "format" : "float",
            "description" : "Amount of sales commission earned through this channel and all its children [unless configured at the child level].",
            "example" : 0.2,
            "maximum" : 1.0,
            "minimum" : 0.0
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Flag the supplier can use to enable / disable a sales channel",
            "example" : true
          },
          "percentDiscount" : {
            "type" : "number",
            "format" : "float",
            "description" : "Percent discount on this channel and all its children [unless configured at the child level].",
            "example" : 0.15,
            "maximum" : 1.0,
            "minimum" : 0.0
          },
          "rateModifierBundleIdentifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Unique identifiers of promotion bundles you would like to apply to this channel and all its children [unless configured at the child level].",
              "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
            }
          },
          "rateModifierIdentifiers" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid",
              "description" : "Unique identifiers of promotions you would like to apply to this channel and all its children [unless configured at the child level].",
              "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
            }
          }
        },
        "required" : [ "blacklisted", "commission", "enabled", "percentDiscount" ]
      },
      "ReviewResponse_Supplier" : {
        "type" : "object",
        "description" : "Hotel manager's response to a guest review, including approval decisions for public display of the review text and uploaded photo.",
        "example" : {
          "approvedImage" : true,
          "approvedText" : true,
          "responseFromHotel" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!"
        },
        "properties" : {
          "approvedImage" : {
            "type" : "boolean",
            "description" : "Property approves the use of guest-generated image with property profile.",
            "example" : true
          },
          "approvedText" : {
            "type" : "boolean",
            "description" : "Property approves the use of guest review text with property profile.",
            "example" : true
          },
          "responseFromHotel" : {
            "type" : "string",
            "description" : "Textual response from hotel to guest's review.",
            "example" : "Thank you so much for taking the time to share such wonderful feedback about your stay at The Siam Residences. We're delighted that you and your husband had such a memorable experience. We look forward to welcoming you back soon!",
            "minLength" : 1
          }
        },
        "required" : [ "approvedImage", "approvedText", "responseFromHotel" ]
      },
      "UpsertWelcomeTextRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body for creating or replacing the multilingual welcome text (short and long descriptions) displayed on a property's public profile.",
        "example" : {
          "list" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ]
        },
        "properties" : {
          "list" : {
            "type" : "array",
            "description" : "Long and short property descriptions. This is the COMPLETE set: a language you omit is removed from the property. Send every language you want to keep.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            },
            "maxItems" : 2147483647,
            "minItems" : 1
          }
        },
        "required" : [ "list" ]
      },
      "SocialNetworksRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body for replacing the full list of social-network links associated with a property.",
        "example" : {
          "list" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ]
        },
        "properties" : {
          "list" : {
            "type" : "array",
            "description" : "List of social networks.",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          }
        }
      },
      "UpdatePropertyAmenitiesAndServicesRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body for replacing all OTA amenity, accessibility, and security codes assigned to a property.",
        "properties" : {
          "hotelAmenityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `HAC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "propertyAccessibilityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "propertySecurityCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "UpsertPropertyProfileRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body for creating or replacing a property's profile metadata, including star rating, category codes, chain, brand, year built, and room count.",
        "example" : {
          "architecturalStyle" : "7",
          "hotelBrand" : "Happy Resorts",
          "hotelCategory" : "45",
          "hotelChain" : "Getaway Resorts",
          "licenseNumber" : "HT-2024-00123",
          "locationCategory" : "34",
          "numberOfRooms" : 40,
          "segmentCategory" : "7",
          "stars" : 4,
          "website" : "https://www.hotel-x.com",
          "whenBuilt" : "1927"
        },
        "properties" : {
          "architecturalStyle" : {
            "type" : "string",
            "description" : "Supported OTA specification `ARC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "7",
            "minLength" : 1
          },
          "hotelBrand" : {
            "type" : "string",
            "description" : "Hotel brand name if property is part of that brand.",
            "example" : "Happy Resorts"
          },
          "hotelCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `PCT` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "45",
            "minLength" : 1
          },
          "hotelChain" : {
            "type" : "string",
            "description" : "Hotel chain name if property is part of that chain.",
            "example" : "Getaway Resorts"
          },
          "licenseNumber" : {
            "type" : "string",
            "description" : "Business license or hotel operating permit number for the property.",
            "example" : "HT-2024-00123"
          },
          "locationCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `LOC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "34",
            "minLength" : 1
          },
          "numberOfRooms" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of rooms / keys for property",
            "example" : 40,
            "minimum" : 1
          },
          "segmentCategory" : {
            "type" : "string",
            "description" : "Supported OTA specification `SEG` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "7",
            "minLength" : 1
          },
          "stars" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Hotel star rating.",
            "example" : 4,
            "maximum" : 6,
            "minimum" : 0
          },
          "website" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Property's brand.com website.",
            "example" : "https://www.hotel-x.com"
          },
          "whenBuilt" : {
            "type" : "string",
            "description" : "Year the property was constructed.",
            "example" : "1927"
          }
        },
        "required" : [ "architecturalStyle", "hotelCategory", "locationCategory", "numberOfRooms", "segmentCategory", "stars" ]
      },
      "UpdateLocationRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body for updating the GPS coordinates of a property.",
        "properties" : {
          "point" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "New location for property."
          }
        },
        "required" : [ "point" ]
      },
      "UpsertContactInfoRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body for creating or replacing the reservations, revenue, and marketing contact details for a property, along with reservation desk operating hours.",
        "example" : {
          "marketingContact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "reservationDeskEndTime" : "23:00",
          "reservationDeskStartTime" : "10:00",
          "reservationsContact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "revenueContact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          }
        },
        "properties" : {
          "marketingContact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Marketing team at property that can be contacted by Wink."
          },
          "reservationDeskEndTime" : {
            "type" : "string",
            "description" : "If the reservationsContact desk does not operate 24 hours, enter an end time.",
            "example" : "23:00",
            "minLength" : 1
          },
          "reservationDeskStartTime" : {
            "type" : "string",
            "description" : "If the reservationsContact desk does not operate 24 hours, enter a start time.",
            "example" : "10:00",
            "minLength" : 1
          },
          "reservationsContact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "[Online] reservationsContact desk assistant at property that can be contacted by travelers and agents."
          },
          "revenueContact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Digital revenueContact mgmt team at property that can be contacted by Wink."
          }
        },
        "required" : [ "marketingContact", "reservationDeskEndTime", "reservationDeskStartTime", "reservationsContact", "revenueContact" ]
      },
      "ToggleMasterRateRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body to enable or disable a master rate.",
        "example" : {
          "enabled" : true
        },
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether master rate should be enable or disabled",
            "example" : true
          }
        },
        "required" : [ "enabled" ]
      },
      "MasterRateLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a master rate, used by consumers outside the master-rate module.",
        "example" : {
          "enabled" : true,
          "hotelIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "name" : "Premium King - Best Available Rate",
          "perkTypes" : [ {
            "guaranteed" : true,
            "id" : "PERK_GUARANTEED_UPGRADE",
            "level" : 3
          } ],
          "ratePlan" : {
            "identifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73",
            "name" : "Best Available Rate"
          },
          "roomType" : {
            "identifier" : "6f9b4c8d-1e5a-4b3c-9d2e-8a7f0c1b5e43",
            "name" : "Premium King Room"
          }
        },
        "properties" : {
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "enabled" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Whether this master rate is enabled for sale across all sales channels",
            "example" : true
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property (managing entity) identifier that owns this master rate.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of master rate. Auto-generated by combining room type and rate plan names.",
            "example" : "Premium King - Best Available Rate",
            "minLength" : 1
          },
          "perkTypes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PerkLightweight_Supplier",
              "description" : "Perks (incentives) offered with this master rate to encourage bookings",
              "example" : "PERK_WINE"
            }
          },
          "ratePlan" : {
            "$ref" : "#/components/schemas/RatePlanLightweight_Supplier",
            "description" : "Rate plan details for this master rate"
          },
          "roomType" : {
            "$ref" : "#/components/schemas/RoomTypeLightweight_Supplier",
            "description" : "Room type details for this master rate"
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "enabled", "hotelIdentifier", "name", "ratePlan", "roomType" ]
      },
      "RoomTypeLightweight_Supplier" : {
        "type" : "object",
        "description" : "A self-contained, denormalized projection of a room type used in search results, availability responses, and booking flows.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "baseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "bathroomCount" : 0,
          "bedroomConfigurationList" : [ {
            "bedroomList" : [ {
              "bedList" : [ {
                "bedTypeCode" : "1",
                "quantity" : 2
              } ],
              "type" : "MASTER"
            } ],
            "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "name" : "Master Suite Layout"
          } ],
          "bookable" : true,
          "commissionable" : true,
          "composite" : false,
          "compositeCount" : 2,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "floor" : "3",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "includedAdultOccupancy" : 2,
          "includedChildOccupancy" : 0,
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "livingRoomCount" : 0,
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "maxAdultOccupancy" : 1,
          "maxChildOccupancy" : 0,
          "maxCribs" : 1,
          "maxOccupancy" : 2,
          "maxRollaways" : 0,
          "minAgeAppropriateCode" : "1",
          "minOccupancy" : 1,
          "minRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "nonSmoking" : true,
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "quantity" : 40,
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "roomArchitectureCode" : "1",
          "roomCategory" : "1",
          "roomClassificationCode" : "1",
          "roomGender" : "Female",
          "roomLocationCode" : "1",
          "roomViewCode" : "1",
          "sharedRoomInd" : false,
          "size" : 55,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Defaults to property address."
          },
          "amenities" : {
            "type" : "array",
            "description" : "OpenTravel room amenity codes (e.g., 1=Balcony, 7=Air Conditioning). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "baseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate during regular remand period"
          },
          "bathroomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of bathrooms",
            "example" : 0,
            "minimum" : 0
          },
          "bedroomConfigurationList" : {
            "type" : "array",
            "description" : "A room type can have more than one bed configuration.",
            "items" : {
              "$ref" : "#/components/schemas/BedroomConfiguration_Supplier"
            },
            "minItems" : 1
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "composite" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates that the room (suite) is a composite of smaller units.",
            "example" : false
          },
          "compositeCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of rooms of this room type that makes up a larger unit (composite) such as a two bedroom suite could be comprised of two king rooms plus other room types. A 0 means disabled.",
            "example" : 2,
            "minimum" : 0
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription_Supplier"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "floor" : {
            "type" : "string",
            "description" : "Floor number on which this room type is located.",
            "example" : "3"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "includedAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "The number of pax the room price was meant for",
            "example" : 2,
            "minimum" : 0
          },
          "includedChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of children the room price was meant for",
            "example" : 0,
            "minimum" : 0
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "livingRoomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of living rooms",
            "example" : 0,
            "minimum" : 0
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "maxAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of adults allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "maxChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of children allowed in a room type.",
            "example" : 0,
            "minimum" : 0
          },
          "maxCribs" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of cribs allowed in a room type.",
            "example" : 1,
            "minimum" : 0
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of guest allowed in a room type.",
            "example" : 2,
            "minimum" : 1
          },
          "maxRollaways" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of rollaway beds allowed in this room type.",
            "example" : 0,
            "minimum" : 0
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Minimum number of guests allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "minRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate in a distressed period"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "nonSmoking" : {
            "type" : "boolean",
            "description" : "Non-smoking indicator",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Defines the number of rooms of this type",
            "example" : 40,
            "minimum" : 1
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          },
          "roomArchitectureCode" : {
            "type" : "string",
            "description" : "OpenTravel architectural style code (e.g., 1=Modern, 2=Traditional, 3=Victorian). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomCategory" : {
            "type" : "string",
            "description" : "OpenTravel segment category code (e.g., 1=Moderate, 4=Standard, 8=Deluxe). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomClassificationCode" : {
            "type" : "string",
            "description" : "OpenTravel guest room info code (e.g., 1=Suite, 2=Standard, 12=Villa, 16=Bungalow). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomGender" : {
            "type" : "string",
            "default" : "Unknown",
            "description" : "Used to request or specify a gender assignment for a room. Note: Typically used by Hosteliers.",
            "enum" : [ "Male", "Female", "MaleAndFemale", "Unknown" ],
            "example" : "Female"
          },
          "roomLocationCode" : {
            "type" : "string",
            "description" : "OpenTravel room location type code (e.g., 1=Near Exit, 2=Close to Elevator, 3=Low Floor, 4=High Floor). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomViewCode" : {
            "type" : "string",
            "description" : "OpenTravel room view type code (e.g., 1=Ocean View, 2=Pool View, 3=Garden View). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "sharedRoomInd" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If TRUE, the room requires or has sharing available. Note: Typically used by Hosteliers.",
            "example" : false
          },
          "size" : {
            "type" : "number",
            "format" : "float",
            "description" : "Number of square meters that defines the size of this room type.",
            "example" : 55,
            "minimum" : 1
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "baseRate", "bathroomCount", "bedroomConfigurationList", "bookable", "commissionable", "composite", "compositeCount", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "includedAdultOccupancy", "includedChildOccupancy", "livingRoomCount", "location", "maxAdultOccupancy", "maxChildOccupancy", "maxCribs", "maxOccupancy", "maxRollaways", "minOccupancy", "minRate", "multimedias", "name", "nonSmoking", "pricePoint", "proximityCode", "quantity", "roomArchitectureCode", "roomCategory", "roomClassificationCode", "roomLocationCode", "roomViewCode", "sharedRoomInd", "size" ]
      },
      "SetMasterRatePerkRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body to replace the perks offered with a master rate.",
        "example" : {
          "perkTypes" : [ "PERK_WINE" ]
        },
        "properties" : {
          "perkTypes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Perk identifiers to assign to the master rate",
              "example" : "PERK_WINE"
            }
          }
        }
      },
      "PatchTransactionalItemMultimediaRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the multimedia section of a transactional inventory item: the full ordered media list.",
        "example" : {
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ]
        },
        "properties" : {
          "multimedias" : {
            "type" : "array",
            "description" : "The full ordered list of media (images/videos) for the transactional item.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          }
        }
      },
      "PatchTransactionalItemDescriptionsRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the localized descriptions of a transactional inventory item.",
        "example" : {
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ]
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions for the transactional item.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            },
            "minItems" : 1
          }
        },
        "required" : [ "descriptions" ]
      },
      "PatchSpaSocialRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the social section of a spa.",
        "example" : {
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ]
        },
        "properties" : {
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for the spa.",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          }
        }
      },
      "PatchSpaScheduleRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the schedule section of a spa.",
        "example" : {
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "closes" : "17:30",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "opens" : "09:00",
          "reservationRequiredInd" : false
        },
        "properties" : {
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the spa is available (seasonal availability).",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the spa is available (seasonal availability).",
            "example" : "1970-1-1"
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of the spa (if applicable). Leave empty if always available.",
            "example" : "17:30"
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicates which days this spa is open."
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of the spa (if applicable). Leave empty if always available.",
            "example" : "09:00"
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to use this spa.",
            "example" : false
          }
        },
        "required" : [ "daysOfWeek", "reservationRequiredInd" ]
      },
      "PatchSpaRecognitionRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the recognition section of a spa.",
        "example" : {
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ]
        },
        "properties" : {
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition (awards, certifications, ratings).",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          }
        }
      },
      "PatchSpaProximityRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the proximity section of a spa.",
        "example" : {
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "proximityCode" : "1"
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Physical address of the spa."
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associated contact person for this spa (if applicable)."
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location point where the spa is located."
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code (on-premises vs off-site).",
            "example" : "1"
          }
        },
        "required" : [ "address", "location" ]
      },
      "PatchSpaMultimediaRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the multimedia section of a spa: the full ordered media list.",
        "example" : {
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ]
        },
        "properties" : {
          "multimedias" : {
            "type" : "array",
            "description" : "The full ordered list of media (images/videos) for the spa.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          }
        }
      },
      "PatchSpaDistributionRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the distribution section of a spa.",
        "example" : {
          "bookable" : true,
          "commissionable" : true,
          "pricePoint" : "THREE",
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "bookable" : {
            "type" : "boolean",
            "description" : "Indicates if this spa can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "description" : "Indicate whether sales channels receive commission for selling this spa.",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this spa.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          }
        },
        "required" : [ "bookable", "commissionable", "pricePoint" ]
      },
      "PatchSpaDescriptionsRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the localized descriptions section of a spa.",
        "example" : {
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ]
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions for the spa.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            }
          }
        }
      },
      "PatchSpaConfigurationRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the configuration section of a spa.",
        "example" : {
          "active" : true,
          "featuredInd" : false,
          "name" : "Serenity Spa"
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify spa availability with this flag.",
            "example" : true
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this spa is featured.",
            "example" : false
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of the spa.",
            "example" : "Serenity Spa",
            "minLength" : 1
          }
        },
        "required" : [ "active", "featuredInd", "name" ]
      },
      "PatchSpaAmenitiesRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the amenities section of a spa.",
        "properties" : {
          "amenities" : {
            "type" : "array",
            "description" : "OTA specification codes for spa amenities.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "PatchSpaActiveRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the active availability flag of a spa.",
        "example" : {
          "active" : true
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify spa availability with this flag.",
            "example" : true
          }
        },
        "required" : [ "active" ]
      },
      "PatchRoomTypeOptionsRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the room-options section of a room type.",
        "properties" : {
          "composite" : {
            "type" : "boolean",
            "description" : "Whether the room is a composite of multiple units."
          },
          "compositeCount" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of units in a composite room."
          },
          "roomGender" : {
            "type" : "string",
            "description" : "Gender restriction for a shared room.",
            "enum" : [ "Male", "Female", "MaleAndFemale", "Unknown" ]
          },
          "sharedRoomInd" : {
            "type" : "boolean",
            "description" : "Whether the room is shared (e.g. dorm)."
          }
        }
      },
      "PatchRoomTypeMultimediaRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the multimedia section of a room type: the full ordered media list.",
        "example" : {
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ]
        },
        "properties" : {
          "multimedias" : {
            "type" : "array",
            "description" : "The full ordered list of media (images/videos) for the room type.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          }
        }
      },
      "PatchRoomTypeLayoutRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the layout & extras section of a room type.",
        "properties" : {
          "bathroomCount" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of bathrooms."
          },
          "livingRoomCount" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of living rooms."
          },
          "maxCribs" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of cribs."
          },
          "maxRollaways" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Maximum number of rollaway beds."
          },
          "size" : {
            "type" : "number",
            "format" : "float",
            "description" : "Room size in square metres."
          }
        }
      },
      "PatchRoomTypeEssentialsRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the essentials section of a room type: name, quantity, occupancy limits, smoking preference, and pricing.",
        "example" : {
          "baseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "includedAdultOccupancy" : 2,
          "includedChildOccupancy" : 0,
          "maxAdultOccupancy" : 1,
          "maxChildOccupancy" : 0,
          "maxOccupancy" : 2,
          "minOccupancy" : 1,
          "minRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "name" : "Deluxe Ocean View",
          "nonSmoking" : true,
          "quantity" : 40
        },
        "properties" : {
          "baseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate during regular remand period"
          },
          "includedAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "The number of pax the room price was meant for",
            "example" : 2,
            "minimum" : 0
          },
          "includedChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of children the room price was meant for",
            "example" : 0,
            "minimum" : 0
          },
          "maxAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of adults allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "maxChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of children allowed in a room type.",
            "example" : 0,
            "minimum" : 0
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of guest allowed in a room type.",
            "example" : 2,
            "minimum" : 1
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Minimum number of guests allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "minRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate in a distressed period"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the room type.",
            "example" : "Deluxe Ocean View",
            "minLength" : 1
          },
          "nonSmoking" : {
            "type" : "boolean",
            "description" : "Non-smoking indicator",
            "example" : true
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Defines the number of rooms of this type",
            "example" : 40,
            "minimum" : 1
          }
        },
        "required" : [ "baseRate", "includedAdultOccupancy", "includedChildOccupancy", "maxAdultOccupancy", "maxChildOccupancy", "maxOccupancy", "minOccupancy", "minRate", "name", "nonSmoking", "quantity" ]
      },
      "PatchRoomTypeDistributionRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the distribution section of a room type.",
        "example" : {
          "bookable" : true,
          "commissionable" : true,
          "pricePoint" : "THREE"
        },
        "properties" : {
          "bookable" : {
            "type" : "boolean",
            "description" : "Indicates if this room type can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "description" : "Indicate whether sales channels receive commission for selling this room type.",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          }
        },
        "required" : [ "bookable", "commissionable", "pricePoint" ]
      },
      "PatchRoomTypeDescriptionsRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the localized descriptions section of a room type.",
        "example" : {
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ]
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions for the room type.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            }
          }
        }
      },
      "PatchRoomTypeClassificationRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the classification section of a room type.",
        "properties" : {
          "floor" : {
            "type" : "string",
            "description" : "Floor designation."
          },
          "roomArchitectureCode" : {
            "type" : "string",
            "description" : "Room architecture code."
          },
          "roomCategory" : {
            "type" : "string",
            "description" : "Room segment/category code."
          },
          "roomClassificationCode" : {
            "type" : "string",
            "description" : "Room classification code."
          },
          "roomLocationCode" : {
            "type" : "string",
            "description" : "Room location code."
          },
          "roomViewCode" : {
            "type" : "string",
            "description" : "Room view code."
          }
        }
      },
      "PatchRoomTypeBedroomsRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the bedrooms section of a room type: the bed/bedroom configuration list.",
        "example" : {
          "bedroomConfigurationList" : [ {
            "bedroomList" : [ {
              "bedList" : [ {
                "bedTypeCode" : "1",
                "quantity" : 2
              } ],
              "type" : "MASTER"
            } ],
            "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "name" : "Master Suite Layout"
          } ]
        },
        "properties" : {
          "bedroomConfigurationList" : {
            "type" : "array",
            "description" : "Bedroom/bed configuration list for the room type.",
            "items" : {
              "$ref" : "#/components/schemas/BedroomConfiguration_Supplier"
            }
          }
        }
      },
      "PatchRoomTypeAmenitiesRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the amenities section of a room type.",
        "properties" : {
          "amenities" : {
            "type" : "array",
            "description" : "General amenity codes.",
            "items" : {
              "type" : "string"
            }
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Disability/accessibility feature codes.",
            "items" : {
              "type" : "string"
            }
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Security feature codes.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "PatchRoomTypeActiveRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the active availability flag of a room type.",
        "example" : {
          "active" : true
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify room type availability with this flag.",
            "example" : true
          }
        },
        "required" : [ "active" ]
      },
      "PatchRestaurantSocialRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the social section of a restaurant.",
        "example" : {
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ]
        },
        "properties" : {
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for the restaurant.",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          }
        }
      },
      "PatchRestaurantScheduleRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the schedule section of a restaurant.",
        "example" : {
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "closes" : "22:00",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "opens" : "11:30",
          "reservationRequiredInd" : true
        },
        "properties" : {
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the restaurant is available (seasonal availability).",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the restaurant is available (seasonal availability).",
            "example" : "1970-1-1"
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of the restaurant (if applicable). Leave empty if always available.",
            "example" : "22:00"
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicates which days this restaurant is open."
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of the restaurant (if applicable). Leave empty if always available.",
            "example" : "11:30"
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to use this restaurant.",
            "example" : true
          }
        },
        "required" : [ "daysOfWeek", "reservationRequiredInd" ]
      },
      "PatchRestaurantRecognitionRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the recognition section of a restaurant.",
        "example" : {
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ]
        },
        "properties" : {
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition (awards, certifications, ratings).",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          }
        }
      },
      "PatchRestaurantProximityRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the proximity section of a restaurant.",
        "example" : {
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "proximityCode" : "1"
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Physical address of the restaurant."
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associated contact person for this restaurant (if applicable)."
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location point where the restaurant is located."
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code (on-premises vs off-site).",
            "example" : "1"
          }
        },
        "required" : [ "address", "location" ]
      },
      "PatchRestaurantMultimediaRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the multimedia section of a restaurant: the full ordered media list.",
        "example" : {
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ]
        },
        "properties" : {
          "multimedias" : {
            "type" : "array",
            "description" : "The full ordered list of media (images/videos) for the restaurant.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          }
        }
      },
      "PatchRestaurantDistributionRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the distribution section of a restaurant.",
        "example" : {
          "bookable" : true,
          "commissionable" : true,
          "pricePoint" : "TWO",
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "bookable" : {
            "type" : "boolean",
            "description" : "Indicates if this restaurant can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "description" : "Indicate whether sales channels receive commission for selling this restaurant.",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "TWO"
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this restaurant.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          }
        },
        "required" : [ "bookable", "commissionable", "pricePoint" ]
      },
      "PatchRestaurantDescriptionsRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the localized descriptions section of a restaurant.",
        "example" : {
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ]
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions for the restaurant.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            }
          }
        }
      },
      "PatchRestaurantConfigurationRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the configuration section of a restaurant.",
        "example" : {
          "active" : true,
          "featuredInd" : false,
          "maxSeatingCapacity" : 100,
          "maxSingleParty" : 10,
          "name" : "The Siam Kitchen",
          "offerBreakfast" : true,
          "offerBrunch" : true,
          "offerDinner" : true,
          "offerLunch" : true
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify restaurant availability with this flag.",
            "example" : true
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this restaurant is featured.",
            "example" : false
          },
          "maxSeatingCapacity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Restaurant supports these many people.",
            "example" : 100,
            "minimum" : 1
          },
          "maxSingleParty" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Largest table at restaurant.",
            "example" : 10,
            "minimum" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of the restaurant.",
            "example" : "The Siam Kitchen",
            "minLength" : 1
          },
          "offerBreakfast" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers breakfast.",
            "example" : true
          },
          "offerBrunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers brunch.",
            "example" : true
          },
          "offerDinner" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers dinner.",
            "example" : true
          },
          "offerLunch" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Restaurant offers lunch.",
            "example" : true
          }
        },
        "required" : [ "active", "featuredInd", "maxSeatingCapacity", "maxSingleParty", "name", "offerBreakfast", "offerBrunch", "offerDinner", "offerLunch" ]
      },
      "PatchRestaurantAmenitiesRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the amenities section of a restaurant: the three OTA code lists (amenities, cuisines, info codes) edited together.",
        "properties" : {
          "amenities" : {
            "type" : "array",
            "description" : "Supported OTA specification `RSI` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "cuisineCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `CUI` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          },
          "infoCodes" : {
            "type" : "array",
            "description" : "Supported OTA specification `RES` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "PatchRestaurantActiveRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the active availability flag of a restaurant.",
        "example" : {
          "active" : true
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify restaurant availability with this flag.",
            "example" : true
          }
        },
        "required" : [ "active" ]
      },
      "PatchMeetingRoomSocialRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the social section of a meeting room.",
        "example" : {
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ]
        },
        "properties" : {
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for the meeting room.",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          }
        }
      },
      "PatchMeetingRoomScheduleRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the schedule section of a meeting room.",
        "example" : {
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "closes" : "23:00",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "opens" : "08:00",
          "reservationRequiredInd" : false
        },
        "properties" : {
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the meeting room is available (seasonal availability).",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the meeting room is available (seasonal availability).",
            "example" : "1970-1-1"
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of the meeting room (if applicable). Leave empty if always available.",
            "example" : "23:00"
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicates which days this meeting room is open."
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of the meeting room (if applicable). Leave empty if always available.",
            "example" : "08:00"
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to use this meeting room.",
            "example" : false
          }
        },
        "required" : [ "daysOfWeek", "reservationRequiredInd" ]
      },
      "PatchMeetingRoomRecognitionRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the recognition section of a meeting room.",
        "example" : {
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ]
        },
        "properties" : {
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition (awards, certifications, ratings).",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          }
        }
      },
      "PatchMeetingRoomProximityRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the proximity section of a meeting room.",
        "example" : {
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "proximityCode" : "1"
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Physical address of the meeting room."
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associated contact person for this meeting room (if applicable)."
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location point where the meeting room is located."
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code (on-premises vs off-site).",
            "example" : "1"
          }
        },
        "required" : [ "address", "location" ]
      },
      "PatchMeetingRoomMultimediaRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the multimedia section of a meeting room: the full ordered media list.",
        "example" : {
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ]
        },
        "properties" : {
          "multimedias" : {
            "type" : "array",
            "description" : "The full ordered list of media (images/videos) for the meeting room.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          }
        }
      },
      "PatchMeetingRoomDistributionRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the distribution section of a meeting room.",
        "example" : {
          "bookable" : true,
          "commissionable" : true,
          "pricePoint" : "THREE",
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "bookable" : {
            "type" : "boolean",
            "description" : "Indicates if this meeting room can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "description" : "Indicate whether sales channels receive commission for selling this meeting room.",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this meeting room.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          }
        },
        "required" : [ "bookable", "commissionable", "pricePoint" ]
      },
      "PatchMeetingRoomDescriptionsRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the localized descriptions section of a meeting room.",
        "example" : {
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ]
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions for the meeting room.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            }
          }
        }
      },
      "PatchMeetingRoomConfigurationRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the configuration section of a meeting room.",
        "example" : {
          "access" : "MEETING_ROOM_ACCESS_PUBLIC",
          "active" : true,
          "area" : 500,
          "dedicatedInd" : true,
          "featuredInd" : false,
          "height" : 5,
          "irregular" : false,
          "length" : 50,
          "meetingRoomCapacity" : 100,
          "meetingRoomLevel" : "GROUND",
          "meetingRoomTypeCode" : "1",
          "name" : "The Siam Residences – Riverside Boardroom",
          "width" : 10
        },
        "properties" : {
          "access" : {
            "type" : "string",
            "description" : "The type of access to the meeting space.",
            "example" : "MEETING_ROOM_ACCESS_PUBLIC"
          },
          "active" : {
            "type" : "boolean",
            "description" : "Modify meeting room availability with this flag.",
            "example" : true
          },
          "area" : {
            "type" : "number",
            "format" : "float",
            "description" : "Area (in square meters) of this meeting room.",
            "example" : 500,
            "minimum" : 1.0
          },
          "dedicatedInd" : {
            "type" : "boolean",
            "description" : "When true, the room is used for a single purpose as indicated by meetingRoomTypeCode.",
            "example" : true
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this meeting room is featured.",
            "example" : false
          },
          "height" : {
            "type" : "number",
            "format" : "float",
            "description" : "Height (in meters) of this meeting room.",
            "example" : 5,
            "minimum" : 1.0
          },
          "irregular" : {
            "type" : "boolean",
            "description" : "Room has an irregular shape.",
            "example" : false
          },
          "length" : {
            "type" : "number",
            "format" : "float",
            "description" : "Length (in meters) of this meeting room.",
            "example" : 50,
            "minimum" : 1.0
          },
          "meetingRoomCapacity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The total number of people permitted in the meeting room.",
            "example" : 100,
            "minimum" : 1
          },
          "meetingRoomLevel" : {
            "type" : "string",
            "description" : "Defines the level in the facility where the meeting room is located.",
            "example" : "GROUND"
          },
          "meetingRoomTypeCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `MRF` code.",
            "example" : "1",
            "minLength" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of the meeting room.",
            "example" : "The Siam Residences – Riverside Boardroom",
            "minLength" : 1
          },
          "width" : {
            "type" : "number",
            "format" : "float",
            "description" : "Width (in meters) of this meeting room.",
            "example" : 10,
            "minimum" : 1.0
          }
        },
        "required" : [ "active", "area", "dedicatedInd", "featuredInd", "height", "irregular", "length", "meetingRoomCapacity", "meetingRoomTypeCode", "name", "width" ]
      },
      "PatchMeetingRoomAmenitiesRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the amenities section of a meeting room.",
        "properties" : {
          "amenities" : {
            "type" : "array",
            "description" : "Supported OTA specification `MRC` code.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "PatchMeetingRoomActiveRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the active availability flag of a meeting room.",
        "example" : {
          "active" : true
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify meeting room availability with this flag.",
            "example" : true
          }
        },
        "required" : [ "active" ]
      },
      "PatchPlaceSocialRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the social section of a place.",
        "example" : {
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ]
        },
        "properties" : {
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for the place.",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          }
        }
      },
      "PatchPlaceScheduleRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the schedule section of a place.",
        "example" : {
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "closes" : "17:30",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "opens" : "09:00",
          "reservationRequiredInd" : false
        },
        "properties" : {
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the place is available (seasonal availability).",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the place is available (seasonal availability).",
            "example" : "1970-1-1"
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of the place (if applicable). Leave empty if always available.",
            "example" : "17:30"
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup_Supplier",
            "description" : "Indicates which days this place is open."
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of the place (if applicable). Leave empty if always available.",
            "example" : "09:00"
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to visit this place.",
            "example" : false
          }
        },
        "required" : [ "daysOfWeek", "reservationRequiredInd" ]
      },
      "PatchPlaceRecognitionRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the recognition section of a place.",
        "example" : {
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ]
        },
        "properties" : {
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition (awards, certifications, ratings).",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition_Supplier"
            }
          }
        }
      },
      "PatchPlaceProximityRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the proximity section of a place.",
        "example" : {
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "proximityCode" : "1"
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Physical address of the place."
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact_Supplier",
            "description" : "Associated contact person for this place (if applicable)."
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint_Supplier",
            "description" : "Geo-location point where the place is located."
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code (on-premises vs off-site).",
            "example" : "1"
          }
        },
        "required" : [ "address", "location" ]
      },
      "PatchPlaceMultimediaRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the multimedia section of a place: the full ordered media list.",
        "example" : {
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ]
        },
        "properties" : {
          "multimedias" : {
            "type" : "array",
            "description" : "The full ordered list of media (images/videos) for the place.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia_Supplier"
            }
          }
        }
      },
      "PatchPlaceDistributionRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the distribution section of a place.",
        "example" : {
          "bookable" : true,
          "commissionable" : true,
          "pricePoint" : "THREE",
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "bookable" : {
            "type" : "boolean",
            "description" : "Indicates if this place can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "description" : "Indicate whether sales channels receive commission for selling this place.",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this place.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory_Supplier"
            }
          }
        },
        "required" : [ "bookable", "commissionable", "pricePoint" ]
      },
      "PatchPlaceDescriptionsRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the localized descriptions section of a place.",
        "example" : {
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ]
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions for the place.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription_Supplier"
            }
          }
        }
      },
      "PatchPlaceConfigurationRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the configuration section of a place.",
        "example" : {
          "active" : true,
          "featuredInd" : false,
          "name" : "Grand Palace",
          "refPointCategoryCode" : "16"
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify place availability with this flag.",
            "example" : true
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this place is featured.",
            "example" : false
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of the place.",
            "example" : "Grand Palace",
            "minLength" : 1
          },
          "refPointCategoryCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `REF` code. See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "example" : "16",
            "minLength" : 1
          }
        },
        "required" : [ "active", "featuredInd", "name", "refPointCategoryCode" ]
      },
      "PatchPlaceActiveRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the active availability flag of a place.",
        "example" : {
          "active" : true
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify place availability with this flag.",
            "example" : true
          }
        },
        "required" : [ "active" ]
      },
      "PatchTransactionalItemMultimediaRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the multimedia section of a transactional inventory item: the full ordered media list.",
        "example" : {
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ]
        },
        "properties" : {
          "multimedias" : {
            "type" : "array",
            "description" : "The full ordered list of media (images/videos) for the transactional item.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            }
          }
        }
      },
      "PatchTransactionalItemDescriptionsRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the localized descriptions of a transactional inventory item.",
        "example" : {
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ]
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions for the transactional item.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription"
            },
            "minItems" : 1
          }
        },
        "required" : [ "descriptions" ]
      },
      "PatchAttractionSocialRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the social section of an attraction.",
        "example" : {
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ]
        },
        "properties" : {
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for the attraction.",
            "items" : {
              "$ref" : "#/components/schemas/Social"
            }
          }
        }
      },
      "PatchAttractionScheduleRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the schedule section of an attraction.",
        "example" : {
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "closes" : "17:30",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "opens" : "09:00",
          "reservationRequiredInd" : false
        },
        "properties" : {
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the attraction is available (seasonal availability).",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the attraction is available (seasonal availability).",
            "example" : "1970-1-1"
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of the attraction (if applicable). Leave empty if always available.",
            "example" : "17:30"
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Indicates which days this attraction is open."
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of the attraction (if applicable). Leave empty if always available.",
            "example" : "09:00"
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to visit this attraction.",
            "example" : false
          }
        },
        "required" : [ "daysOfWeek", "reservationRequiredInd" ]
      },
      "PatchAttractionRecognitionRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the recognition section of an attraction.",
        "example" : {
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ]
        },
        "properties" : {
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition (awards, certifications, ratings).",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition"
            }
          }
        }
      },
      "PatchAttractionProximityRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the proximity section of an attraction.",
        "example" : {
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "proximityCode" : "1"
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress",
            "description" : "Physical address of the attraction."
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact",
            "description" : "Associated contact person for this attraction (if applicable)."
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint",
            "description" : "Geo-location point where the attraction is located."
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code (on-premises vs off-site).",
            "example" : "1"
          }
        },
        "required" : [ "address", "location" ]
      },
      "PatchAttractionMultimediaRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the multimedia section of an attraction: the full ordered media list.",
        "example" : {
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ]
        },
        "properties" : {
          "multimedias" : {
            "type" : "array",
            "description" : "The full ordered list of media (images/videos) for the attraction.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            }
          }
        }
      },
      "PatchAttractionDistributionRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the distribution section of an attraction.",
        "example" : {
          "bookable" : true,
          "commissionable" : true,
          "pricePoint" : "THREE",
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "bookable" : {
            "type" : "boolean",
            "description" : "Indicates if this attraction can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "description" : "Indicate whether sales channels receive commission for selling this attraction.",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this attraction.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory"
            }
          }
        },
        "required" : [ "bookable", "commissionable", "pricePoint" ]
      },
      "PatchAttractionDescriptionsRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the localized descriptions section of an attraction.",
        "example" : {
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ]
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions for the attraction.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription"
            }
          }
        }
      },
      "PatchAttractionConfigurationRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the configuration section of an attraction.",
        "example" : {
          "active" : true,
          "attractionCategoryCode" : "101",
          "courtesyPhone" : true,
          "featuredInd" : false,
          "name" : "Grand Palace Bangkok"
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify attraction availability with this flag.",
            "example" : true
          },
          "attractionCategoryCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `ACC` code.",
            "example" : "101",
            "minLength" : 1
          },
          "courtesyPhone" : {
            "type" : "boolean",
            "description" : "Whether a courtesy phone for contacting the hotel is available at the attraction.",
            "example" : true
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this attraction is featured.",
            "example" : false
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of the attraction.",
            "example" : "Grand Palace Bangkok",
            "minLength" : 1
          }
        },
        "required" : [ "active", "attractionCategoryCode", "courtesyPhone", "featuredInd", "name" ]
      },
      "PatchAttractionActiveRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the active availability flag of an attraction.",
        "example" : {
          "active" : true
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify attraction availability with this flag.",
            "example" : true
          }
        },
        "required" : [ "active" ]
      },
      "PatchActivitySocialRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the social section of an activity.",
        "example" : {
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ]
        },
        "properties" : {
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for the activity.",
            "items" : {
              "$ref" : "#/components/schemas/Social"
            }
          }
        }
      },
      "PatchActivityScheduleRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the schedule section of an activity.",
        "example" : {
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "closes" : "17:30",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "opens" : "09:00",
          "reservationRequiredInd" : false
        },
        "properties" : {
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the activity is available (seasonal availability).",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the activity is available (seasonal availability).",
            "example" : "1970-1-1"
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of the activity (if applicable). Leave empty if always available.",
            "example" : "17:30"
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Indicates which days this activity is offered."
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of the activity (if applicable). Leave empty if always available.",
            "example" : "09:00"
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to participate in this activity.",
            "example" : false
          }
        },
        "required" : [ "daysOfWeek", "reservationRequiredInd" ]
      },
      "PatchActivityRecognitionRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the recognition section of an activity.",
        "example" : {
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ]
        },
        "properties" : {
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition (awards, certifications, ratings).",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition"
            }
          }
        }
      },
      "PatchActivityProximityRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the proximity section of an activity.",
        "example" : {
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "proximityCode" : "1"
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress",
            "description" : "Physical address of the activity."
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact",
            "description" : "Associated contact person for this activity (if applicable)."
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint",
            "description" : "Geo-location point where the activity is located."
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code (on-premises vs off-site).",
            "example" : "1"
          }
        },
        "required" : [ "address", "location" ]
      },
      "PatchActivityMultimediaRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the multimedia section of an activity: the full ordered media list.",
        "example" : {
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ]
        },
        "properties" : {
          "multimedias" : {
            "type" : "array",
            "description" : "The full ordered list of media (images/videos) for the activity.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            }
          }
        }
      },
      "PatchActivityDistributionRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the distribution section of an activity.",
        "example" : {
          "bookable" : true,
          "commissionable" : true,
          "pricePoint" : "THREE",
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "bookable" : {
            "type" : "boolean",
            "description" : "Indicates if this activity can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "description" : "Indicate whether sales channels receive commission for selling this activity.",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this activity.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory"
            }
          }
        },
        "required" : [ "bookable", "commissionable", "pricePoint" ]
      },
      "PatchActivityDescriptionsRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the localized descriptions section of an activity.",
        "example" : {
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ]
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions for the activity.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription"
            }
          }
        }
      },
      "PatchActivityConfigurationRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the configuration section of an activity.",
        "example" : {
          "active" : true,
          "featuredInd" : false,
          "name" : "Sunset Yoga Class",
          "pricePoint" : "THREE",
          "recreationCategoryCode" : "01"
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify activity availability with this flag.",
            "example" : true
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this activity is featured.",
            "example" : false
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of the activity.",
            "example" : "Sunset Yoga Class",
            "minLength" : 1
          },
          "pricePoint" : {
            "type" : "string",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "recreationCategoryCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `RST` code.",
            "example" : "01",
            "minLength" : 1
          }
        },
        "required" : [ "active", "featuredInd", "name", "pricePoint", "recreationCategoryCode" ]
      },
      "PatchActivityAmenitiesRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the amenities section of an activity.",
        "properties" : {
          "amenities" : {
            "type" : "array",
            "description" : "Supported OTA specification `REC` codes for activity amenities.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "PatchActivityActiveRequest_Supplier" : {
        "type" : "object",
        "description" : "Request payload for patching the active availability flag of an activity.",
        "example" : {
          "active" : true
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify activity availability with this flag.",
            "example" : true
          }
        },
        "required" : [ "active" ]
      },
      "UpdateChannelManagerRequest_Supplier" : {
        "type" : "object",
        "description" : "Request body for updating the channel manager (rate provider) linked to a property, which determines who controls inventory and rates.",
        "example" : {
          "rateProvider" : {
            "label" : "Hotel & Resort",
            "value" : "HOTEL"
          }
        },
        "properties" : {
          "rateProvider" : {
            "$ref" : "#/components/schemas/KeyValuePair_Supplier",
            "description" : "Property's channel manager. Rate ownership is decided based on the channel manager selected. This can be both an enum and an identifier."
          }
        },
        "required" : [ "rateProvider" ]
      },
      "EmptyRequestBody_Supplier" : {
        "description" : "Placeholder request body for POST or PUT endpoints that require a body by HTTP convention but carry no payload fields"
      },
      "BooleanResponse_Supplier" : {
        "type" : "object",
        "description" : "Standard immutable response wrapper that returns a success/failure indicator with an optional message.",
        "example" : {
          "message" : "User has permission to access this resource",
          "success" : true
        },
        "properties" : {
          "message" : {
            "type" : "string",
            "description" : "A message indicating more textual information. Mostly used to convey an error message.",
            "example" : "User has permission to access this resource"
          },
          "success" : {
            "type" : "boolean",
            "description" : "Whether call to endpoint was successful or not.",
            "example" : true
          }
        }
      },
      "PropertyBookingRefundRequest_Supplier" : {
        "type" : "object",
        "description" : "Request submitted by a hotel/property to initiate a refund on a booking, pending admin approval.",
        "example" : {
          "cancelOnRefund" : "NONE",
          "description" : "Death in the family... dog died",
          "refund" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "type" : "REQUESTED_BY_CUSTOMER"
        },
        "properties" : {
          "cancelOnRefund" : {
            "type" : "string",
            "description" : "Whether to cancel the booking alongside requesting a refund.",
            "enum" : [ "NONE", "CANCEL_ON_SUCCESSFUL_REFUND", "CANCEL_REGARDLESS" ],
            "example" : "NONE"
          },
          "description" : {
            "type" : "string",
            "description" : "Textual description of why the refund is being requested",
            "example" : "Death in the family... dog died",
            "minLength" : 1
          },
          "refund" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Requested amount to refund"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of reason",
            "enum" : [ "DUPLICATE", "FRAUDULENT", "REQUESTED_BY_CUSTOMER", "GUEST_COMPLAINT", "GUEST_BOOKED_INCORRECT_DATE", "GUEST_SICK", "OVERBOOKING", "EMERGENCY", "FLIGHT_CANCELLED", "DEATH_IN_FAMILY", "OTHER", "EXPIRED_UNCAPTURED_CHARGE", "AVAILABILITY_CHECK_FAILED" ],
            "example" : "REQUESTED_BY_CUSTOMER"
          }
        },
        "required" : [ "cancelOnRefund", "description", "refund", "type" ]
      },
      "CancellationDetail_Supplier" : {
        "type" : "object",
        "description" : "Details describing the reason and type of a booking cancellation",
        "example" : {
          "cancellationType" : "CC_INVALID",
          "reason" : "Death in the family"
        },
        "properties" : {
          "cancellationType" : {
            "type" : "string",
            "description" : "Cancellation type",
            "enum" : [ "DUPLICATE", "CANCELLATION", "NO_SHOW", "CC_INVALID", "CC_INSUFFICIENT", "DISCRETIONARY" ],
            "example" : "CC_INVALID"
          },
          "reason" : {
            "type" : "string",
            "description" : "Reason for cancellation",
            "example" : "Death in the family",
            "minLength" : 1
          }
        },
        "required" : [ "cancellationType", "reason" ]
      },
      "PatchAddOnSocialRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the social section of an add-on.",
        "example" : {
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ]
        },
        "properties" : {
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for the add-on.",
            "items" : {
              "$ref" : "#/components/schemas/Social"
            }
          }
        }
      },
      "PatchAddOnScheduleRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the schedule section of an add-on.",
        "example" : {
          "applicableEnd" : "1970-12-1",
          "applicableStart" : "1970-1-1",
          "closes" : "17:30",
          "daysOfWeek" : {
            "disabled" : true,
            "fri" : true,
            "mon" : true,
            "sat" : true,
            "sun" : true,
            "thu" : true,
            "tue" : true,
            "wed" : true
          },
          "opens" : "09:00",
          "reservationRequiredInd" : false
        },
        "properties" : {
          "applicableEnd" : {
            "type" : "string",
            "format" : "date",
            "description" : "End month and day or date for which the add-on is available (seasonal availability).",
            "example" : "1970-12-1"
          },
          "applicableStart" : {
            "type" : "string",
            "format" : "date",
            "description" : "Start month and day or date for which the add-on is available (seasonal availability).",
            "example" : "1970-1-1"
          },
          "closes" : {
            "type" : "string",
            "description" : "Closing time of the add-on (if applicable). Leave empty if always available.",
            "example" : "17:30"
          },
          "daysOfWeek" : {
            "$ref" : "#/components/schemas/DowPatternGroup",
            "description" : "Indicates which days this add-on is open."
          },
          "opens" : {
            "type" : "string",
            "description" : "Opening time of the add-on (if applicable). Leave empty if always available.",
            "example" : "09:00"
          },
          "reservationRequiredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether a reservation is required to use this add-on.",
            "example" : false
          }
        },
        "required" : [ "daysOfWeek", "reservationRequiredInd" ]
      },
      "PatchAddOnRecognitionRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the recognition section of an add-on.",
        "example" : {
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ]
        },
        "properties" : {
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition (awards, certifications, ratings).",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition"
            }
          }
        }
      },
      "PatchAddOnProximityRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the proximity section of an add-on.",
        "example" : {
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "proximityCode" : "1"
        },
        "properties" : {
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress",
            "description" : "Physical address of the add-on."
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact",
            "description" : "Associated contact person for this add-on (if applicable)."
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint",
            "description" : "Geo-location point where the add-on is located."
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code (on-premises vs off-site).",
            "example" : "1"
          }
        },
        "required" : [ "address", "location" ]
      },
      "PatchAddOnMultimediaRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the multimedia section of an add-on: the full ordered media list.",
        "example" : {
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ]
        },
        "properties" : {
          "multimedias" : {
            "type" : "array",
            "description" : "The full ordered list of media (images/videos) for the add-on.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            }
          }
        }
      },
      "PatchAddOnDistributionRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the distribution section of an add-on.",
        "example" : {
          "bookable" : true,
          "commissionable" : true,
          "pricePoint" : "THREE",
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ]
        },
        "properties" : {
          "bookable" : {
            "type" : "boolean",
            "description" : "Indicates if this add-on can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "description" : "Indicate whether sales channels receive commission for selling this add-on.",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this add-on.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory"
            }
          }
        },
        "required" : [ "bookable", "commissionable", "pricePoint" ]
      },
      "PatchAddOnDescriptionsRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the localized descriptions section of an add-on.",
        "example" : {
          "descriptions" : [ {
            "description" : "This is a longer description in the specified language.",
            "language" : "en",
            "name" : "An example title"
          } ]
        },
        "properties" : {
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions for the add-on.",
            "items" : {
              "$ref" : "#/components/schemas/UpsertSimpleDescription"
            }
          }
        }
      },
      "PatchAddOnConfigurationRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the configuration section of an add-on.",
        "example" : {
          "active" : true,
          "dateRanges" : [ {
            "endDate" : "2020-12-31",
            "startDate" : "2020-12-24"
          } ],
          "featuredInd" : false,
          "mandatory" : true,
          "name" : "Private In-Room Wellness Spa",
          "numberOfUnits" : 15,
          "ratePlanIdentifier" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify add-on availability with this flag.",
            "example" : true
          },
          "dateRanges" : {
            "type" : "array",
            "description" : "Optional list of date ranges restricting add-on availability to specific periods. Mutually exclusive with ratePlanIdentifier.",
            "items" : {
              "$ref" : "#/components/schemas/DateRange"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this add-on is featured.",
            "example" : false
          },
          "mandatory" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Make this add-on mandatory for all guests by enabling this flag.",
            "example" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of the add-on.",
            "example" : "Private In-Room Wellness Spa",
            "minLength" : 1
          },
          "numberOfUnits" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Total number of add-ons available to purchase.",
            "example" : 15,
            "minimum" : 0
          },
          "ratePlanIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Optional rate plan identifier to restrict this add-on to guests on a specific rate plan. Mutually exclusive with dateRanges.",
            "example" : "5e8a3b7c-0d4f-4a2b-8c1d-9e6f2a0b4c73"
          }
        },
        "required" : [ "active", "featuredInd", "mandatory", "name", "numberOfUnits" ]
      },
      "PatchAddOnActiveRequest" : {
        "type" : "object",
        "description" : "Request payload for patching the active availability flag of an add-on.",
        "example" : {
          "active" : true
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Modify add-on availability with this flag.",
            "example" : true
          }
        },
        "required" : [ "active" ]
      },
      "ChannelName_Supplier" : {
        "type" : "object",
        "description" : "Channel name record linking a property to a named sales channel and its managing entity",
        "example" : {
          "name" : "The Siam Residences - Direct Channel",
          "ownerIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "propertyIdentifier" : "the-siam-residences",
          "subType" : "HOTEL"
        },
        "properties" : {
          "name" : {
            "type" : "string",
            "minLength" : 1
          },
          "ownerIdentifier" : {
            "type" : "string"
          },
          "propertyIdentifier" : {
            "type" : "string",
            "minLength" : 1
          },
          "subType" : {
            "type" : "string",
            "description" : "Type of entity that manages, facilitates, or administers properties, bookings, or payments on the Wink Platform",
            "enum" : [ "TRIP_PAY", "FACILITATOR", "DIRECT", "APPLICATION", "HOTEL", "TRAVELIKO", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "GOOGLE_HOTEL_API", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ]
          }
        },
        "required" : [ "name", "propertyIdentifier", "subType" ]
      },
      "SelectableKeyValuePair_Supplier" : {
        "type" : "object",
        "description" : "Immutable value object representing a selectable option with value, label, and selection state.",
        "example" : {
          "label" : "Free WiFi",
          "selected" : true,
          "value" : "free-wifi"
        },
        "properties" : {
          "label" : {
            "type" : "string",
            "description" : "English readable text of the value.",
            "example" : "Readable text label",
            "minLength" : 1
          },
          "selected" : {
            "type" : "boolean",
            "description" : "Whether record is selected or not.",
            "example" : true
          },
          "value" : {
            "type" : "string",
            "description" : "The value that should be persisted.",
            "example" : "id-1",
            "minLength" : 1
          }
        },
        "required" : [ "label", "selected", "value" ]
      },
      "BrowseManagingEntity_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Lightweight read-only projection of a managing entity for browse and search result views.",
        "example" : {
          "annualTravelSpendInDollars" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "city" : {
            "label" : "Hotel & Resort",
            "value" : "HOTEL"
          },
          "continent" : {
            "label" : "Hotel & Resort",
            "value" : "HOTEL"
          },
          "country" : {
            "label" : "Hotel & Resort",
            "value" : "HOTEL"
          },
          "createdDate" : "2026-01-15T10:30:00",
          "description" : "A luxury boutique resort nestled in the heart of Bangkok, offering refined hospitality and curated experiences.",
          "identifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "lastUpdate" : "2026-06-20T08:00:00",
          "name" : "The Siam Residences",
          "onlinePresence" : [ {
            "audienceSize" : 5,
            "audiences" : [ "EVERYONE" ],
            "disabled" : false,
            "identifier" : "@siamresidences",
            "sort" : 5,
            "type" : "INSTAGRAM"
          } ],
          "ownerImageId" : "v1/property/the-siam-residences.jpg",
          "ownerName" : "Alexandra Beaumont",
          "status" : "ACTIVE",
          "travelAgent" : {
            "selfAcquires" : false,
            "selfDisburses" : false
          },
          "type" : "HOTEL",
          "uniqueId" : "siam-bkk",
          "urlName" : "the-siam-residences-bangkok"
        },
        "properties" : {
          "annualTravelSpendInDollars" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "How much user or company spends on travel per year."
          },
          "city" : {
            "$ref" : "#/components/schemas/KeyValuePair_Authenticated_Entity",
            "description" : "Key-value pair representing the city (GeoNames ID and ASCII name) where the entity is located."
          },
          "continent" : {
            "$ref" : "#/components/schemas/KeyValuePair_Authenticated_Entity",
            "description" : "Key-value pair representing the continent of the entity."
          },
          "country" : {
            "$ref" : "#/components/schemas/KeyValuePair_Authenticated_Entity",
            "description" : "Key-value pair representing the country of the entity."
          },
          "createdDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp when the managing entity was created.",
            "example" : "2026-01-15T10:30:00"
          },
          "description" : {
            "type" : "string",
            "description" : "Short description reflecting the entity's brand and positioning.",
            "example" : "A luxury boutique resort nestled in the heart of Bangkok, offering refined hospitality and curated experiences."
          },
          "identifier" : {
            "type" : "string",
            "description" : "Unique identifier of the managing entity.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
          },
          "lastUpdate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp of the most recent update to the managing entity.",
            "example" : "2026-06-20T08:00:00"
          },
          "name" : {
            "type" : "string",
            "description" : "Display name of the managing entity.",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "onlinePresence" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/OnlinePresence_Authenticated_Entity",
              "description" : "Online presence of entity."
            }
          },
          "ownerImageId" : {
            "type" : "string",
            "description" : "Cloudinary image identifier for the owner's profile picture or company logo.",
            "example" : "v1/property/the-siam-residences.jpg"
          },
          "ownerName" : {
            "type" : "string",
            "description" : "Full name of the managing entity owner.",
            "example" : "Alexandra Beaumont",
            "minLength" : 1
          },
          "status" : {
            "type" : "string",
            "description" : "Current lifecycle status of the managing entity.",
            "enum" : [ "PENDING_APPROVAL", "ACTIVE", "INACTIVE", "UNDER_REVIEW", "SUSPENDED", "REJECTED", "REMOVED" ],
            "example" : "ACTIVE"
          },
          "travelAgent" : {
            "$ref" : "#/components/schemas/TravelAgent_Authenticated_Entity",
            "description" : "Travel agent-specific details; null for non-travel-agent entity types."
          },
          "type" : {
            "type" : "string",
            "description" : "Entity type: HOTEL, APPLICATION, TRAVEL_AGENT, INFLUENCER, etc.",
            "enum" : [ "TRIP_PAY", "FACILITATOR", "DIRECT", "APPLICATION", "HOTEL", "TRAVELIKO", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "GOOGLE_HOTEL_API", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ],
            "example" : "HOTEL"
          },
          "uniqueId" : {
            "type" : "string",
            "description" : "Human-friendly short unique identifier used in some public contexts.",
            "example" : "siam-bkk",
            "minLength" : 1
          },
          "urlName" : {
            "type" : "string",
            "description" : "URL-friendly slug identifying the entity in public profiles and links.",
            "example" : "the-siam-residences-bangkok",
            "minLength" : 1,
            "pattern" : "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
          }
        },
        "required" : [ "city", "continent", "country", "createdDate", "identifier", "lastUpdate", "name", "ownerName", "status", "type", "uniqueId", "urlName" ]
      },
      "CompanyDetailsBookingSalesMetrics_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Booking sales metrics for a managing entity, broken down by property and country.",
        "example" : {
          "byCountryList" : [ {
            "averageBookingAmount" : 450.0,
            "bookings" : 120,
            "currencyCode" : "USD",
            "totalPriceAmount" : 54000.0,
            "type" : "BY_COUNTRY",
            "typeIdentifier" : "6f9e4d8a-1b5c-7d3e-0f2a-9c7d3e1f5a84",
            "typeName" : "Thailand"
          } ],
          "byPropertyList" : [ {
            "averageBookingAmount" : 450.0,
            "bookings" : 85,
            "currencyCode" : "USD",
            "totalPriceAmount" : 38250.0,
            "type" : "BY_PROPERTY",
            "typeIdentifier" : "5e8d3c7f-0a4b-6c2d-9e1f-8b6c2d0e4f73",
            "typeName" : "The Siam Residences, Bangkok"
          } ],
          "managingEntity" : {
            "annualTravelSpendInDollars" : null,
            "city" : {
              "key" : "1609350",
              "value" : "Bangkok"
            },
            "continent" : {
              "key" : "AS",
              "value" : "AS"
            },
            "country" : {
              "key" : "1605651",
              "value" : "Thailand"
            },
            "createdDate" : "2026-01-15T10:30:00",
            "description" : "Luxury boutique property on the Chao Phraya River.",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "lastUpdate" : "2026-06-20T08:00:00",
            "name" : "The Siam Residences",
            "onlinePresence" : [ ],
            "ownerImageId" : "v1/property/the-siam-residences.jpg",
            "ownerName" : "Alexandra Beaumont",
            "status" : "ACTIVE",
            "travelAgent" : null,
            "type" : "HOTEL",
            "uniqueId" : "siam-bkk",
            "urlName" : "the-siam-residences"
          },
          "total" : {
            "averageBookingAmount" : 450.0,
            "bookings" : 120,
            "currencyCode" : "USD",
            "totalPriceAmount" : 54000.0,
            "type" : "BY_TOTAL",
            "typeIdentifier" : "4d7c2b6e-9f3a-5b1c-8d0e-7a5b1c9d3e62",
            "typeName" : "All Properties"
          }
        },
        "properties" : {
          "byCountryList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GroupedBookingSalesMetrics",
              "description" : "Sales metrics grouped by country."
            }
          },
          "byPropertyList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GroupedBookingSalesMetrics",
              "description" : "Sales metrics grouped by individual property."
            }
          },
          "managingEntity" : {
            "$ref" : "#/components/schemas/BrowseManagingEntity_Authenticated_Entity",
            "description" : "The managing entity associated with these metrics."
          },
          "total" : {
            "$ref" : "#/components/schemas/GroupedBookingSalesMetrics_Authenticated_Entity",
            "description" : "Total aggregated sales metrics across all properties."
          }
        }
      },
      "KeyValuePair_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Immutable key-value pair associating a machine-readable value with a human-readable label.",
        "example" : {
          "label" : "Hotel & Resort",
          "value" : "HOTEL"
        },
        "properties" : {
          "label" : {
            "type" : "string",
            "description" : "English readable text of the value.",
            "example" : "Readable text label",
            "minLength" : 1
          },
          "value" : {
            "type" : "string",
            "description" : "The value that should be persisted.",
            "example" : "id-1",
            "minLength" : 1
          }
        },
        "required" : [ "label", "value" ]
      },
      "TravelAgent_Authenticated_Entity" : {
        "type" : "object",
        "example" : {
          "selfAcquires" : false,
          "selfDisburses" : false
        },
        "properties" : {
          "selfAcquires" : {
            "type" : "boolean",
            "description" : "Whether the agent is in charge of charging the property.",
            "example" : false
          },
          "selfDisburses" : {
            "type" : "boolean",
            "description" : "Whether the agent is in charge of paying the property.",
            "example" : false
          }
        },
        "required" : [ "selfAcquires", "selfDisburses" ]
      },
      "GroupedBookingSalesMetrics" : {
        "type" : "object",
        "description" : "Booking sales metrics grouped by a specific dimension (such as property or country), extending the base sales metrics with the group type, name, and identifier.",
        "example" : {
          "averageBookingAmount" : 4511.9,
          "bookings" : 42,
          "currencyCode" : "THB",
          "totalPriceAmount" : 189500.0,
          "type" : "BY_PROPERTY",
          "typeIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "typeName" : "The Siam Residences, Bangkok"
        },
        "properties" : {
          "averageBookingAmount" : {
            "type" : "number",
            "format" : "double",
            "description" : "Average booking value in the display currency.",
            "example" : 450.0
          },
          "bookings" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of bookings in this metric set.",
            "example" : 42
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code for the monetary amounts.",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "totalPriceAmount" : {
            "type" : "number",
            "format" : "double",
            "description" : "Total revenue from all bookings in the display currency.",
            "example" : 450.0
          },
          "type" : {
            "type" : "string",
            "description" : "The dimension by which sales metrics are grouped.",
            "enum" : [ "BY_TOTAL", "BY_COUNTRY", "BY_PROPERTY" ],
            "example" : "PROPERTY"
          },
          "typeIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier of the grouping entity.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
          },
          "typeName" : {
            "type" : "string",
            "description" : "Display name of the grouping entity.",
            "example" : "The Siam Residences, Bangkok"
          }
        }
      },
      "GroupedBookingSalesMetrics_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Booking sales metrics grouped by a specific dimension (such as property or country), extending the base sales metrics with the group type, name, and identifier.",
        "example" : {
          "averageBookingAmount" : 4511.9,
          "bookings" : 42,
          "currencyCode" : "THB",
          "totalPriceAmount" : 189500.0,
          "type" : "BY_PROPERTY",
          "typeIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "typeName" : "The Siam Residences, Bangkok"
        },
        "properties" : {
          "averageBookingAmount" : {
            "type" : "number",
            "format" : "double",
            "description" : "Average booking value in the display currency.",
            "example" : 450.0
          },
          "bookings" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of bookings in this metric set.",
            "example" : 42
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code for the monetary amounts.",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "totalPriceAmount" : {
            "type" : "number",
            "format" : "double",
            "description" : "Total revenue from all bookings in the display currency.",
            "example" : 450.0
          },
          "type" : {
            "type" : "string",
            "description" : "The dimension by which sales metrics are grouped.",
            "enum" : [ "BY_TOTAL", "BY_COUNTRY", "BY_PROPERTY" ],
            "example" : "PROPERTY"
          },
          "typeIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier of the grouping entity.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
          },
          "typeName" : {
            "type" : "string",
            "description" : "Display name of the grouping entity.",
            "example" : "The Siam Residences, Bangkok"
          }
        }
      },
      "CountResponse_Supplier" : {
        "type" : "object",
        "description" : "Standard response wrapper for count queries, returning the number of resources matching the specified criteria along with a success indicator.",
        "example" : {
          "count" : 1543,
          "success" : true
        },
        "properties" : {
          "count" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Number of reviews for this property.",
            "example" : 1543
          },
          "success" : {
            "type" : "boolean",
            "description" : "True if count query worked.",
            "example" : true
          }
        },
        "required" : [ "count", "success" ]
      },
      "SocialNetworksResponse_Supplier" : {
        "type" : "object",
        "description" : "Response carrying the current social-network links associated with a property.",
        "example" : {
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "list" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          }, {
            "location" : "https://www.facebook.com/thesiamresidences",
            "type" : "FACEBOOK"
          } ]
        },
        "properties" : {
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property identifier associated with social networks",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "list" : {
            "type" : "array",
            "description" : "List of social networks.",
            "items" : {
              "$ref" : "#/components/schemas/Social_Supplier"
            }
          }
        },
        "required" : [ "hotelIdentifier" ]
      },
      "LifestylesResponse_Supplier" : {
        "type" : "object",
        "description" : "Response carrying the current lifestyle designations assigned to a property.",
        "example" : {
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "list" : [ "LIFESTYLE_ROMANCE", "LIFESTYLE_BEACH", "LIFESTYLE_ECO" ]
        },
        "properties" : {
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property identifier that owns these lifestyle designations",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "list" : {
            "type" : "array",
            "description" : "List of new lifestyles to set on property.",
            "items" : {
              "type" : "string",
              "description" : "Specific lifestyle preference type used to match travelers with suitable inventory",
              "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ]
            },
            "maxItems" : 4,
            "minItems" : 0
          }
        },
        "required" : [ "hotelIdentifier" ]
      },
      "InventoryUsageItem_Supplier" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "type" : "integer",
            "format" : "int64"
          },
          "usage" : {
            "type" : "string",
            "description" : "The type of technology using the inventory",
            "enum" : [ "RATE_MODIFIER", "LINK", "CARD", "LIST", "MAP" ]
          }
        },
        "required" : [ "count", "usage" ]
      },
      "InventoryUsage_Supplier" : {
        "type" : "object",
        "description" : "Tracks how a piece of sellable inventory is referenced across the platform",
        "example" : {
          "inventoryIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "itemList" : [ {
            "count" : 3,
            "usage" : "RATE_MODIFIER"
          }, {
            "count" : 1,
            "usage" : "LINK"
          } ],
          "name" : "Deluxe River View Room",
          "referenced" : true,
          "type" : "GUEST_ROOM"
        },
        "properties" : {
          "inventoryIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Inventory type identifier",
            "minLength" : 1
          },
          "itemList" : {
            "type" : "array",
            "description" : "How the inventoryIdentifier is currently being used",
            "items" : {
              "$ref" : "#/components/schemas/InventoryUsageItem_Supplier"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the inventory",
            "minLength" : 1
          },
          "referenced" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string",
            "description" : "Inventory type",
            "enum" : [ "GUEST_ROOM", "ADD_ON", "MEETING_ROOM", "RESTAURANT", "SPA", "ATTRACTION", "PLACE", "ACTIVITY" ],
            "example" : "GUEST_ROOM"
          }
        },
        "required" : [ "inventoryIdentifier", "itemList", "name", "type" ]
      },
      "KeyValuePair" : {
        "type" : "object",
        "description" : "Immutable key-value pair associating a machine-readable value with a human-readable label.",
        "example" : {
          "label" : "Hotel & Resort",
          "value" : "HOTEL"
        },
        "properties" : {
          "label" : {
            "type" : "string",
            "description" : "English readable text of the value.",
            "example" : "Readable text label",
            "minLength" : 1
          },
          "value" : {
            "type" : "string",
            "description" : "The value that should be persisted.",
            "example" : "id-1",
            "minLength" : 1
          }
        },
        "required" : [ "label", "value" ]
      },
      "CancellationPolicyRemovableResponse_Supplier" : {
        "type" : "object",
        "description" : "Response indicating whether a cancellation policy can be safely removed and which rate plans reference it",
        "example" : {
          "ratePlans" : [ {
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "name" : "Standard Flexible Rate"
          } ],
          "removable" : false
        },
        "properties" : {
          "ratePlans" : {
            "type" : "array",
            "description" : "Rate plans associated with this cancellation policy",
            "items" : {
              "$ref" : "#/components/schemas/IdentifierNamePair_Supplier"
            }
          },
          "removable" : {
            "type" : "boolean",
            "description" : "Whether the cancellation policy can be safely deleted without affecting existing rate plans",
            "example" : true
          }
        }
      },
      "IdentifierNamePair_Supplier" : {
        "type" : "object",
        "example" : {
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "name" : "The Siam Residences"
        },
        "properties" : {
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Identifier of associated entity",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Entity name",
            "example" : "The Siam Residences",
            "minLength" : 1
          }
        },
        "required" : [ "identifier", "name" ]
      },
      "CalDavResponse_Supplier" : {
        "type" : "object",
        "description" : "CalDAV feed response containing authentication credentials and the subscription URL",
        "example" : {
          "hotelIdentifier" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "passkey" : "pkey_7fn92kd8s0x4m5qw9r3j1lp8n6t2u4v0",
          "url" : "https://dev-api.wink.travel:8443/api/cal/property/a1b2c3d4-e5f6-7890-abcd-ef1234567890/booking/list"
        },
        "properties" : {
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique property identifier for CalDAV authentication",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique CalDAV record identifier",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "passkey" : {
            "type" : "string",
            "description" : "Secure passkey to authenticate requests against the CalDAV feed URL",
            "example" : "pkey_7fn92kd8s0x4m5qw9r3j1lp8n6t2u4v0"
          },
          "url" : {
            "type" : "string",
            "description" : "The complete CalDAV feed URL to subscribe to from your calendar application",
            "example" : "https://dev-api.wink.travel:8443/api/cal/property/e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18/booking/list"
          }
        }
      },
      "BookingCancellable_Supplier" : {
        "type" : "object",
        "description" : "Indicates whether a specific booking is eligible for cancellation, along with the reason if it is not.",
        "example" : {
          "bookingIdentifier" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92",
          "cancellable" : true,
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
        },
        "properties" : {
          "bookingIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Booking unique identifier.",
            "example" : "f4d1c8e5-2b9a-4f3d-9e7c-1b6a5d3f8c92"
          },
          "cancellable" : {
            "type" : "boolean",
            "description" : "Whether booking can be cancelled.",
            "example" : true
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Property identifier owning the booking.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
          }
        },
        "required" : [ "bookingIdentifier", "cancellable", "hotelIdentifier" ]
      },
      "GroupedBookingSalesMetrics_SupplierDetails" : {
        "type" : "object",
        "description" : "Booking sales metrics grouped by a specific dimension (such as property or country), extending the base sales metrics with the group type, name, and identifier.",
        "example" : {
          "averageBookingAmount" : 4511.9,
          "bookings" : 42,
          "currencyCode" : "THB",
          "totalPriceAmount" : 189500.0,
          "type" : "BY_PROPERTY",
          "typeIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "typeName" : "The Siam Residences, Bangkok"
        },
        "properties" : {
          "averageBookingAmount" : {
            "type" : "number",
            "format" : "double",
            "description" : "Average booking value in the display currency.",
            "example" : 450.0
          },
          "bookings" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Total number of bookings in this metric set.",
            "example" : 42
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "Currency code for the monetary amounts.",
            "example" : "USD",
            "pattern" : "^[A-Z]{3}$"
          },
          "totalPriceAmount" : {
            "type" : "number",
            "format" : "double",
            "description" : "Total revenue from all bookings in the display currency.",
            "example" : 450.0
          },
          "type" : {
            "type" : "string",
            "description" : "The dimension by which sales metrics are grouped.",
            "enum" : [ "BY_TOTAL", "BY_COUNTRY", "BY_PROPERTY" ],
            "example" : "PROPERTY"
          },
          "typeIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier of the grouping entity.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
          },
          "typeName" : {
            "type" : "string",
            "description" : "Display name of the grouping entity.",
            "example" : "The Siam Residences, Bangkok"
          }
        }
      },
      "Bed" : {
        "type" : "object",
        "description" : "A single bed type and its quantity within a bedroom, described using the OpenTravel bed type code.",
        "example" : {
          "bedTypeCode" : "1",
          "quantity" : 2
        },
        "properties" : {
          "bedTypeCode" : {
            "type" : "string",
            "description" : "OpenTravel bed type code (e.g., 1=Double, 2=Twin, 7=Queen, 8=King). See [OTA geoname data](#operation/showAvailableCodesForCategory).",
            "example" : "1",
            "minLength" : 1
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of beds of this type in the room.",
            "example" : 2,
            "minimum" : 1
          }
        },
        "required" : [ "bedTypeCode", "quantity" ]
      },
      "Bedroom" : {
        "type" : "object",
        "description" : "A single bedroom within a room type, specifying the bedroom type and its bed configuration.",
        "example" : {
          "bedList" : [ {
            "bedTypeCode" : "1",
            "quantity" : 2
          } ],
          "type" : "MASTER"
        },
        "properties" : {
          "bedList" : {
            "type" : "array",
            "description" : "List of bed configurations for this bedroom. Each entry specifies a bed type and quantity.",
            "items" : {
              "$ref" : "#/components/schemas/Bed"
            },
            "minItems" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Bedroom type classification (e.g., MASTER, QUEEN, JUNIOR, DORMITORY, BEDROOM_1...BEDROOM_10).",
            "enum" : [ "MASTER", "QUEEN", "JUNIOR", "DORMITORY", "BEDROOM_1", "BEDROOM_2", "BEDROOM_3", "BEDROOM_4", "BEDROOM_5", "BEDROOM_6", "BEDROOM_7", "BEDROOM_8", "BEDROOM_9", "BEDROOM_10" ],
            "example" : "MASTER"
          }
        },
        "required" : [ "bedList", "type" ]
      },
      "BedroomConfiguration" : {
        "type" : "object",
        "description" : "A named bedroom layout configuration for a room type, containing one or more bedrooms each with their own bed setup.",
        "example" : {
          "bedroomList" : [ {
            "bedList" : [ {
              "bedTypeCode" : "1",
              "quantity" : 2
            } ],
            "type" : "MASTER"
          } ],
          "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "name" : "Master Suite Layout"
        },
        "properties" : {
          "bedroomList" : {
            "type" : "array",
            "description" : "List of bedrooms within this configuration layout.",
            "items" : {
              "$ref" : "#/components/schemas/Bedroom"
            },
            "minItems" : 1
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this bedroom configuration layout.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Human-readable name of this room layout configuration.",
            "example" : "Master Suite Layout",
            "minLength" : 1
          }
        },
        "required" : [ "bedroomList", "identifier", "name" ]
      },
      "GuestRoomLightweight" : {
        "type" : "object",
        "description" : "A lightweight projection of a room type, carrying all occupancy, bedroom configuration, pricing and classification details needed for availability and booking flows.",
        "example" : {
          "active" : true,
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "baseRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "bathroomCount" : 0,
          "bedroomConfigurationList" : [ {
            "bedroomList" : [ {
              "bedList" : [ {
                "bedTypeCode" : "1",
                "quantity" : 2
              } ],
              "type" : "MASTER"
            } ],
            "identifier" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "name" : "Master Suite Layout"
          } ],
          "bookable" : true,
          "commissionable" : true,
          "composite" : false,
          "compositeCount" : 2,
          "contact" : {
            "email" : "johnsmith@email.com",
            "firstName" : "Alexandra",
            "fullName" : "Alexandra Beaumont",
            "lastName" : "Beaumont",
            "phoneNumber" : "+12125551212",
            "secondaryEmail" : "johnsmith2@email.com",
            "summary" : "John Smith (johnsmith@gmail.com / +12125551212)"
          },
          "createdDate" : "2026-01-14T09:30:00",
          "descriptions" : [ {
            "creator" : "USER",
            "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
            "language" : "en",
            "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
            "name" : "Deluxe River View Suite"
          } ],
          "featuredInd" : false,
          "floor" : "3",
          "hotelIdentifier" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "includedAdultOccupancy" : 2,
          "includedChildOccupancy" : 0,
          "lastUpdate" : "2026-02-03T16:45:12",
          "lifestyleType" : "LIFESTYLE_HEALTH_FITNESS",
          "livingRoomCount" : 0,
          "location" : {
            "coordinates" : [ 100.5581533, 13.7370197 ],
            "type" : "POINT"
          },
          "maxAdultOccupancy" : 1,
          "maxChildOccupancy" : 0,
          "maxCribs" : 1,
          "maxOccupancy" : 2,
          "maxRollaways" : 0,
          "minAgeAppropriateCode" : "1",
          "minOccupancy" : 1,
          "minRate" : {
            "amount" : 1250.0,
            "currency" : "USD"
          },
          "multimedias" : [ {
            "angle" : null,
            "attribution" : [ ],
            "category" : "2",
            "descriptions" : [ {
              "description" : "Elegant lobby of The Siam Residences",
              "language" : "en",
              "title" : "Lobby Entrance"
            } ],
            "height" : 1600,
            "identifier" : "the-siam-residences/lobby-entrance",
            "isLandscape" : true,
            "lifestyleType" : null,
            "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "published" : true,
            "sort" : 10,
            "source" : "CLOUDINARY",
            "type" : "IMAGE",
            "width" : 2560
          } ],
          "name" : "Archery lesson",
          "nonSmoking" : true,
          "pricePoint" : "THREE",
          "proximityCode" : "1",
          "publishStatus" : "PUBLISHED",
          "quantity" : 40,
          "recognitionList" : [ {
            "category" : "AWARD",
            "date" : "2026-01-14",
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxRating" : 10.0,
            "officialAppointmentInd" : true,
            "provider" : "Michelin",
            "rating" : 8.5,
            "ratingSymbol" : "*",
            "type" : "PERCENT_RATING"
          } ],
          "roomArchitectureCode" : "1",
          "roomCategory" : "1",
          "roomClassificationCode" : "1",
          "roomGender" : "Female",
          "roomLocationCode" : "1",
          "roomViewCode" : "1",
          "sharedRoomInd" : false,
          "size" : 55,
          "socials" : [ {
            "location" : "https://www.instagram.com/thesiamresidences",
            "type" : "INSTAGRAM"
          } ],
          "sort" : 1,
          "transactionalInventoryList" : [ {
            "basePrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "descriptions" : [ {
              "creator" : "USER",
              "description" : "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
              "language" : "en",
              "md5ContentHash" : "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
              "name" : "Deluxe River View Suite"
            } ],
            "discountedPrice" : {
              "amount" : 1250.0,
              "currency" : "USD"
            },
            "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "maxPax" : 10,
            "minPax" : 2,
            "multimedias" : [ {
              "angle" : null,
              "attribution" : [ ],
              "category" : "2",
              "descriptions" : [ {
                "description" : "Elegant lobby of The Siam Residences",
                "language" : "en",
                "title" : "Lobby Entrance"
              } ],
              "height" : 1600,
              "identifier" : "the-siam-residences/lobby-entrance",
              "isLandscape" : true,
              "lifestyleType" : null,
              "multimediaIdentifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
              "published" : true,
              "sort" : 10,
              "source" : "CLOUDINARY",
              "type" : "IMAGE",
              "width" : 2560
            } ],
            "name" : "1 hour session",
            "percentDiscount" : 0.1,
            "percentPremium" : 0.1,
            "pricingType" : "PER_NIGHT"
          } ],
          "version" : 3
        },
        "properties" : {
          "active" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Modify blocking availability with this flag.",
            "example" : true
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress",
            "description" : "Defaults to property address."
          },
          "amenities" : {
            "type" : "array",
            "description" : "OpenTravel room amenity codes (e.g., 1=Balcony, 7=Air Conditioning). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "baseRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate during regular remand period"
          },
          "bathroomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of bathrooms",
            "example" : 0,
            "minimum" : 0
          },
          "bedroomConfigurationList" : {
            "type" : "array",
            "description" : "A room type can have more than one bed configuration.",
            "items" : {
              "$ref" : "#/components/schemas/BedroomConfiguration"
            },
            "minItems" : 1
          },
          "bookable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicates if this inventory can be added to a booking or if it is read-only marketing material only.",
            "example" : true
          },
          "commissionable" : {
            "type" : "boolean",
            "default" : true,
            "description" : "Indicate whether sales channels receive commission for selling this inventory.",
            "example" : true
          },
          "composite" : {
            "type" : "boolean",
            "default" : false,
            "description" : "Indicates that the room (suite) is a composite of smaller units.",
            "example" : false
          },
          "compositeCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Number of rooms of this room type that makes up a larger unit (composite) such as a two bedroom suite could be comprised of two king rooms plus other room types. A 0 means disabled.",
            "example" : 2,
            "minimum" : 0
          },
          "contact" : {
            "$ref" : "#/components/schemas/Contact",
            "description" : "Associate a contact person for this inventory (if applicable)."
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "descriptions" : {
            "type" : "array",
            "description" : "Localized descriptions describing inventory.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleDescription"
            },
            "minItems" : 1
          },
          "disabilityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `PHY` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "featuredInd" : {
            "type" : "boolean",
            "description" : "Indicates whether this inventory is featured. Use this flag as a way to signify that this inventory is special.",
            "example" : false
          },
          "floor" : {
            "type" : "string",
            "description" : "Floor number on which this room type is located.",
            "example" : "3"
          },
          "hotelIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Hotel identifier.",
            "example" : "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
            "minLength" : 1
          },
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this record.",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
            "minLength" : 1
          },
          "includedAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "The number of pax the room price was meant for",
            "example" : 2,
            "minimum" : 0
          },
          "includedChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "The number of children the room price was meant for",
            "example" : 0,
            "minimum" : 0
          },
          "lastUpdate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was last updated",
            "example" : "2026-02-03T16:45:12",
            "readOnly" : true
          },
          "lifestyleType" : {
            "type" : "string",
            "description" : "Indicate the type of lifestyle this inventory should be associated with.",
            "enum" : [ "LIFESTYLE_HEALTH_FITNESS", "LIFESTYLE_RELAX", "LIFESTYLE_ADULT_ONLY", "LIFESTYLE_ADVENTURE", "LIFESTYLE_BUSINESS", "LIFESTYLE_LGBT", "LIFESTYLE_SINGLE_PARENT", "LIFESTYLE_SOLO_FEMALE", "LIFESTYLE_BEAUTY", "LIFESTYLE_FOODIE", "LIFESTYLE_FAMILY", "LIFESTYLE_ROMANCE", "LIFESTYLE_COUPLE", "LIFESTYLE_SOLO", "LIFESTYLE_BACKPACKER", "LIFESTYLE_SHOPPING", "LIFESTYLE_SPORTS", "LIFESTYLE_MOUNTAIN", "LIFESTYLE_BEACH", "LIFESTYLE_CITY", "LIFESTYLE_COUNTRY", "LIFESTYLE_CULTURE", "LIFESTYLE_ECO" ],
            "example" : "LIFESTYLE_HEALTH_FITNESS"
          },
          "livingRoomCount" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of living rooms",
            "example" : 0,
            "minimum" : 0
          },
          "location" : {
            "$ref" : "#/components/schemas/GeoJsonPoint",
            "description" : "Geo-location point where blocking takes place. Defaults to location of property.",
            "example" : {
              "coordinates" : [ 100.5581533, 13.7370197 ],
              "type" : "POINT"
            }
          },
          "maxAdultOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of adults allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "maxChildOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of children allowed in a room type.",
            "example" : 0,
            "minimum" : 0
          },
          "maxCribs" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of cribs allowed in a room type.",
            "example" : 1,
            "minimum" : 0
          },
          "maxOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 2,
            "description" : "Maximum number of guest allowed in a room type.",
            "example" : 2,
            "minimum" : 1
          },
          "maxRollaways" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "description" : "Maximum number of rollaway beds allowed in this room type.",
            "example" : 0,
            "minimum" : 0
          },
          "minAgeAppropriateCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `AQC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "minOccupancy" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Minimum number of guests allowed in a room type.",
            "example" : 1,
            "minimum" : 1
          },
          "minRate" : {
            "$ref" : "#/components/schemas/CustomMonetaryAmount",
            "description" : "Typical one night rate in a distressed period"
          },
          "multimedias" : {
            "type" : "array",
            "description" : "List of images / videos of blocking.",
            "items" : {
              "$ref" : "#/components/schemas/SimpleMultimedia"
            },
            "minItems" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Internal name of inventory.",
            "example" : "Archery lesson",
            "minLength" : 1
          },
          "nonSmoking" : {
            "type" : "boolean",
            "description" : "Non-smoking indicator",
            "example" : true
          },
          "pricePoint" : {
            "type" : "string",
            "default" : "THREE",
            "description" : "Level of expensiveness.",
            "enum" : [ "HALF", "ONE", "ONE_HALF", "TWO", "TWO_HALF", "THREE", "THREE_HALF", "FOUR", "FOUR_HALF", "FIVE" ],
            "example" : "THREE"
          },
          "proximityCode" : {
            "type" : "string",
            "description" : "Supported OTA specification `PRX` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1"
          },
          "publishStatus" : {
            "type" : "string",
            "description" : "Publish lifecycle state: DRAFT (incomplete, not announced) or PUBLISHED (complete/live).",
            "enum" : [ "DRAFT", "PUBLISHED" ],
            "example" : "PUBLISHED"
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Defines the number of rooms of this type",
            "example" : 40,
            "minimum" : 1
          },
          "recognitionList" : {
            "type" : "array",
            "description" : "Inventory-level recognition.",
            "items" : {
              "$ref" : "#/components/schemas/TravelInventoryRecognition"
            }
          },
          "roomArchitectureCode" : {
            "type" : "string",
            "description" : "OpenTravel architectural style code (e.g., 1=Modern, 2=Traditional, 3=Victorian). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomCategory" : {
            "type" : "string",
            "description" : "OpenTravel segment category code (e.g., 1=Moderate, 4=Standard, 8=Deluxe). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomClassificationCode" : {
            "type" : "string",
            "description" : "OpenTravel guest room info code (e.g., 1=Suite, 2=Standard, 12=Villa, 16=Bungalow). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomGender" : {
            "type" : "string",
            "default" : "Unknown",
            "description" : "Used to request or specify a gender assignment for a room. Note: Typically used by Hosteliers.",
            "enum" : [ "Male", "Female", "MaleAndFemale", "Unknown" ],
            "example" : "Female"
          },
          "roomLocationCode" : {
            "type" : "string",
            "description" : "OpenTravel room location type code (e.g., 1=Near Exit, 2=Close to Elevator, 3=Low Floor, 4=High Floor). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "roomViewCode" : {
            "type" : "string",
            "description" : "OpenTravel room view type code (e.g., 1=Ocean View, 2=Pool View, 3=Garden View). See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "example" : "1",
            "minLength" : 1
          },
          "securityFeatures" : {
            "type" : "array",
            "description" : "Supported OTA specification `SEC` code. See [OTA geoname data](#operation/showAvailableCodesForCategory)",
            "items" : {
              "type" : "string"
            }
          },
          "sharedRoomInd" : {
            "type" : "boolean",
            "default" : false,
            "description" : "If TRUE, the room requires or has sharing available. Note: Typically used by Hosteliers.",
            "example" : false
          },
          "size" : {
            "type" : "number",
            "format" : "float",
            "description" : "Number of square meters that defines the size of this room type.",
            "example" : 55,
            "minimum" : 1
          },
          "socials" : {
            "type" : "array",
            "description" : "Social network accounts for blocking (if applicable).",
            "items" : {
              "$ref" : "#/components/schemas/Social"
            }
          },
          "sort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Use this property to sort an blocking in a list of activities.",
            "example" : 1
          },
          "transactionalInventoryList" : {
            "type" : "array",
            "description" : "Purchasable items for this inventory.",
            "items" : {
              "$ref" : "#/components/schemas/TransactionalTravelInventory"
            }
          },
          "version" : {
            "type" : [ "integer", "null" ],
            "format" : "int64",
            "description" : "Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.",
            "example" : 3
          }
        },
        "required" : [ "active", "address", "baseRate", "bathroomCount", "bedroomConfigurationList", "bookable", "commissionable", "composite", "compositeCount", "contact", "descriptions", "featuredInd", "hotelIdentifier", "id", "includedAdultOccupancy", "includedChildOccupancy", "livingRoomCount", "location", "maxAdultOccupancy", "maxChildOccupancy", "maxCribs", "maxOccupancy", "maxRollaways", "minOccupancy", "minRate", "multimedias", "name", "nonSmoking", "pricePoint", "proximityCode", "quantity", "roomArchitectureCode", "roomCategory", "roomClassificationCode", "roomLocationCode", "roomViewCode", "sharedRoomInd", "size" ]
      },
      "RemoveEntryResponse" : {
        "type" : "object",
        "description" : "Response object for when a system document is removed.",
        "example" : {
          "id" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "message" : "Property marked as deleted. Can be restored within 30 days.",
          "success" : true
        },
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Identifier of removed document",
            "example" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47"
          },
          "message" : {
            "type" : "string",
            "description" : "Message with additional information; mostly if the removal request was a failure.",
            "example" : "Record successfully removed"
          },
          "success" : {
            "type" : "boolean",
            "description" : "Whether the removal was successful or not.",
            "example" : true
          }
        }
      }
    },
    "securitySchemes" : {
      "oauth2ClientCredentials" : {
        "type" : "oauth2",
        "description" : "Every endpoint is protected with OAuth2 **client credentials**. Create an\n**Application** in your account to obtain a `clientId` and `clientSecret`, then\nexchange them for a short-lived bearer token.\n\n### 1. Request an access token\n`POST` to the **Token URL** below with `Content-Type: application/x-www-form-urlencoded`\nand a body of `grant_type=client_credentials` (optionally `scope=<space-separated scopes>`).\nSend your credentials as HTTP Basic auth:\n`Authorization: Basic base64(clientId + \":\" + clientSecret)`.\n\n### 2. Call the API\nPass the returned token on every request: `Authorization: Bearer <access_token>`.\n\nTokens carry only the scopes granted to your Application — request the least privilege\nyou need. There is no interactive authorize step and no refresh token for this flow;\nrequest a new token when the current one expires.",
        "name" : "Client Credentials",
        "flows" : {
          "clientCredentials" : {
            "tokenUrl" : "https://iam.wink.travel/oauth2/token",
            "scopes" : {
              "inventory.read" : "View your inventory & rates.",
              "inventory.write" : "Create and update your inventory & rates.",
              "inventory.remove" : "Delete your inventory & rates.",
              "booking.read" : "View your bookings.",
              "booking.write" : "Create and update your bookings.",
              "booking.remove" : "Delete your bookings.",
              "marketing.read" : "View your marketing & promotions.",
              "marketing.write" : "Create and update your marketing & promotions.",
              "marketing.remove" : "Delete your marketing & promotions.",
              "content.read" : "View your property content.",
              "content.write" : "Create and update your property content.",
              "content.remove" : "Delete your property content."
            }
          }
        }
      }
    }
  }
}